<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Illuminate\Database\Eloquent\Relations\MorphToMany;
use Whitecube\NovaFlexibleContent\Value\FlexibleCast;
class Page extends Model
{
use HasFactory;
protected $table = 'pages';
protected $fillable = [
'name',
'data'
];
protected $casts = [
'data' => 'array',
// 'data->mission_cards' => FlexibleCast::class,
];
public function crops()
{
return $this->belongsToMany(
Crop::class,
'page_crop'
);
}
public function flyers(): MorphToMany
{
return $this->morphToMany(Flyer::class, 'flyerables');
}
public function catalogs(): MorphToMany
{
return $this->morphToMany(Catalog::class, 'catalogables');
}
public function employees(): BelongsToMany
{
return $this->belongsToMany(
Employee::class,
'page_employees'
);
}
}