Files
portal-api/app/Models/Menu.php
T
2025-07-24 16:18:27 +07:00

42 lines
829 B
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Kalnoy\Nestedset\NodeTrait;
class Menu extends Model
{
use HasFactory, NodeTrait;
protected $fillable = [
'title',
'slug',
'route_name',
'icon',
'sort_by',
'is_active',
'parent_id',
];
/**
* Get the parent menu of this menu.
*/
public function parent(): BelongsTo
{
return $this->belongsTo(Menu::class, 'parent_id');
}
/**
* Get the child menus of this menu.
*/
public function children(): HasMany
{
return $this->hasMany(Menu::class, 'parent_id');
}
}