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

Please note that all pasted data is publicly available.