You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
1.7 KiB
75 lines
1.7 KiB
5 years ago
|
<?php
|
||
|
|
||
|
namespace App;
|
||
|
|
||
|
use Illuminate\Database\Eloquent\Model;
|
||
|
use App\Appended\Traites\GetDateAttributesTrait;
|
||
|
|
||
|
|
||
|
class Blog extends Model
|
||
|
{
|
||
|
use GetDateAttributesTrait;
|
||
|
|
||
|
public $fillable = ['title', 'description', 'summary', 'blog_category_id', 'user_id'];
|
||
|
|
||
|
public function images()
|
||
|
{
|
||
|
return $this->morphToMany('App\Gallery', 'uploadable');
|
||
|
}
|
||
|
|
||
|
public function category()
|
||
|
{
|
||
|
return $this->belongsTo('App\BlogCategory', 'blog_category_id');
|
||
|
}
|
||
|
|
||
|
public function categories()
|
||
|
{
|
||
|
return $this->belongsToMany('App\BlogCategory', 'blog_blog_category');
|
||
|
}
|
||
|
|
||
|
public function user()
|
||
|
{
|
||
|
return $this->belongsTo('App\User');
|
||
|
}
|
||
|
|
||
|
public function likes()
|
||
|
{
|
||
|
return $this->morphMany('App\Like', 'likeable');
|
||
|
}
|
||
|
|
||
|
public function comments()
|
||
|
{
|
||
|
return $this->morphMany('App\Comment', 'commentable');
|
||
|
}
|
||
|
|
||
|
public function tags()
|
||
|
{
|
||
|
return $this->morphToMany('App\Tag', 'taggable');
|
||
|
}
|
||
|
|
||
|
public function orginalTitleImage()
|
||
|
{
|
||
|
return $this->morphToMany('App\Gallery', 'uploadable')->wherePivot('image_role', 'TitleImage')->where('parent_id', null);
|
||
|
}
|
||
|
|
||
|
public function title_image()
|
||
|
{
|
||
|
return $this->morphToMany('App\Gallery', 'uploadable')->wherePivot('image_role', 'TitleImage')->where('parent_id', null);
|
||
|
}
|
||
|
|
||
|
public function tiny_images()
|
||
|
{
|
||
|
return $this->morphToMany('App\Gallery', 'uploadable')->wherePivot('image_role', 'TinyImages')->where('parent_id', null);
|
||
|
}
|
||
|
|
||
|
public function getTotalLikesAttribute()
|
||
|
{
|
||
|
return $this->morphMany('App\Like', 'likeable')->count();
|
||
|
}
|
||
|
|
||
|
public function setUserIdAttribute($value)
|
||
|
{
|
||
|
$this->attributes['user_id'] = \Auth::user()->id;
|
||
|
}
|
||
|
}
|