<?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); } }