/home/bdqbpbxa/api-uniferx.goodface.com.ua/app/Models/Page.php
<?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'
        );
    }
}