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.
willaengine/app/SpUserPage.php

91 lines
1.6 KiB

<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class SpUserPage extends Model{
protected $fillable = ['name_en', 'name_fa', 'description', 'sp_user_template_id', 'sp_page_id', 'business_id', 'sp_page_type_id', 'language_id'];
public function user_template()
{
return $this->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);
});
}
}