<?php

namespace App\Models\GenericBackoffice;

use App\Libs\Database\Eloquent\BaseModel;

use App\Models\GenericBackoffice\Traits\LanguageSupportTrait;

class MenuItem extends BaseModel
{
    use LanguageSupportTrait;

    const MENU_ITEM_DEFAULT_TYPE = 'default';
    const MENU_ITEM_EXPDOT_TYPE = 'expandable_dot';

    const MENU_ITEM_TYPE_LIST = [
        self::MENU_ITEM_DEFAULT_TYPE => 'Default',
        self::MENU_ITEM_EXPDOT_TYPE => 'Expandable Dot'
    ];

    protected $with = array('languages');

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

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

    public function entry()
    {
        return $this->belongsTo(Entry::class);
    }

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

}
