<?php namespace SGProject\Models;
use SGProject\Interfaces\ModelInterface;
use SGProject\Traits\BaseAttributesTrait;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class Video extends Model implements ModelInterface {
use SoftDeletes, BaseAttributesTrait;
/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'videos';
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'title',
'series_id',
'teasertext',
'videolink',
];
######## Data preparation ########
public function scopeActive($query)
{
return $query->where('active', 1)->orderBy('title', 'asc');
}
public function getSlugAttribute()
{
return $this->slugs->first()['slug'];
}
public function slugs()
{
return $this->morphMany('SGProject\Models\Slug', 'sluggable');
}
public function series()
{
return $this->belongsTo('SGProject\Models\Series', 'series_id');
}
// Accessor
public function getSeriesIdAttribute()
{
return $this->series_id ? $this->series()->title : '';
}