* @created 2022-08-08 15:10:57 * @modified 2022-08-08 15:10:57 */ namespace Beike\Models; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsToMany; use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasOne; class Page extends Base { protected $fillable = [ 'page_category_id', 'position', 'views', 'author', 'active', ]; public function description(): HasOne { return $this->hasOne(PageDescription::class)->where('locale', locale()); } public function descriptions(): HasMany { return $this->hasMany(PageDescription::class); } public function category(): BelongsTo { return $this->belongsTo(PageCategory::class, 'page_category_id', 'id'); } public function pageProducts(): HasMany { return $this->hasMany(PageProduct::class); } public function products(): BelongsToMany { return $this->belongsToMany(Product::class, PageProduct::class, 'page_id', 'product_id')->withTimestamps(); } }