app/Tag.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Prettus\Repository\Contracts\Transformable;
use Prettus\Repository\Traits\TransformableTrait;
class Tag extends Model implements Transformable
{
use TransformableTrait;
/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'tags';
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = ['name', 'slug', 'content'];
/**
* The attributes excluded from the model's JSON form.
*
* @var array
*/
protected $hidden = [];
/**
* No timestamp here.
*
* @var bool
*/
public $timestamps = false;
/**
* Get all of the posts that are assigned this tag.
*/
public function posts()
{
return $this->morphedByMany(Post::class, 'taggable');
}
/**
* Get all of the videos that are assigned this tag.
*/
public function works()
{
return $this->morphedByMany(Work::class, 'taggable');
}
}