<?php namespace Codeboard\Articles;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Str;
class Article extends Model {
/**
* Fillable components
*
* @var array
*/
protected $fillable = ['title', 'slug', 'markdown', 'html'];
/**
* Add tags to articles
*
* @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
*/
public function tags()
{
return $this->belongsToMany('Codeboard\Articles\Tag')->withTimestamps();
}
/**
* Synchronize active tags to articles
*
* @param array $tags
*/
public function syncTags($tags = array())
{
$this->tags()->sync($tags);
}
/**
* Add a user to an Article
*
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/
public function user()
{
return $this->belongsTo('Codeboard\User');
}
/**
* @param $value
*/
public function setSlugAttribute($value)
{
$this->attributes['slug'] = Str::slug($value);
}
}