<?php namespace App\Models; use App\Models\User; use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use App\Traits\CreatedUpdatedBy; class Sitemenus extends Model { use HasFactory, CreatedUpdatedBy; protected $primaryKey = 'menu_id'; public $timestamps = true; protected $fillable =[ 'parent_menu', 'menulocations_id', 'title', 'alias', 'type', 'ref', 'target', 'display_order', 'status', 'created_at', 'updated_at', 'createdby', 'updatedby', ]; protected $appends = ['status_name']; protected function getStatusNameAttribute() { return $this->status == 1 ? '<span class="badge text-bg-success-soft"> Active </span>' : '<span class="badge text-bg-danger-soft">Inactive</span>'; } protected function createdBy(): Attribute { return Attribute::make( get: fn ($value) => User::find($value) ? User::find($value)->name : '', ); } protected function updatedBy(): Attribute { return Attribute::make( get: fn ($value) => User::find($value) ? User::find($value)->name : '', ); } }