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