<?php

namespace App\Models\Backoffice;

use App\Models\Backoffice\Support\BaseModel;

use App\Models\Backoffice\Traits\LanguageSupportTrait;

class MenuItem extends BaseModel
{
    use LanguageSupportTrait;

    protected $with = ['languages'];
    protected $casts = [
        'active' => 'boolean',
        'use_object_title' => 'boolean',
    ];

    public function menu()
    {
        return $this->belongsTo(Menu::class);
    }

    public function parent()
    {
        return $this->belongsTo(MenuItem::class, 'parent_id');
    }

    public function page()
    {
        return $this->belongsTo(Page::class);
    }

    public function menuItems()
    {
        return $this->hasMany(MenuItem::class, 'parent_id')->orderBy('position', 'asc');
    }

}
