belongsTo('App\SpUserTemplate','sp_user_template_id'); } public function page() { return $this->belongsTo('App\SpPage', 'sp_page_id'); } public function frames() { return $this->belongsToMany('App\SpFrame','sp_user_frames'); } public function user_frames() { return $this->belongsToMany('App\SpUserFrame', 'user_page_frame')->withPivot('frame_order'); } public function business() { return $this->belongsTo('App\Business'); } public function page_type() { return $this->belongsTo('App\SpPageType', 'sp_page_type_id'); } public function language() { return $this->belongsTo('App\Language', 'language_id'); } public function scopePageType($query, $templateId, $languageId, $pageResponsibility, $pageType = '') { return $query->select('id', 'name_en', 'name_fa', 'sp_page_type_id', 'description') ->where('sp_user_template_id', $templateId) ->where('language_id', $languageId) ->whereHas('page_type', function($q) use ($pageType, $pageResponsibility) { $q->where('responsibility', $pageResponsibility)->where('type', $pageType); }); } }