12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- <?php
- namespace App\Models\System;
- use Illuminate\Database\Eloquent\Model;
- use Illuminate\Support\Facades\DB;
- use Spatie\Permission\Traits\HasPermissions;
- use Spatie\Permission\Traits\HasRoles;
- use Spatie\Permission\Traits\RefreshesPermissionCache;
- class Menu extends Model
- {
- use HasRoles, HasPermissions, RefreshesPermissionCache;
- protected $table = 'system_menus';
- protected string $guard_name = 'web';
- protected $attributes = [];
- protected $guarded = [];
- public static $snakeAttributes = false;
- protected $appends = [];
- protected $casts = [
- 'visible' => 'bool',
- 'keepAlive' => 'bool',
- 'alwaysShow' => 'bool'
- ];
- // public function assignRole($role)
- // {
- //
- // }
- // public function disableAppends()
- // {
- // $this->appends = [];
- // return $this;
- // }
- // public function getPermissionAttribute()
- // {
- // $tableNames = config('permission.table_names');
- // $permission_ids = DB::table($tableNames['model_has_permissions'])->where('model_type', Menu::class)->where('model_id', $this->attributes['id'])->pluck('permission_id');
- // $permission_names = DB::table($tableNames['permissions'])->whereIn('id', $permission_ids)->pluck('name');
- // return implode('|', $permission_names->toArray());
- // }
- // public function setComponentNameAttribute($value)
- // {
- // $this->attributes['component_name'] = $value;
- // }
- //
- // public function setVisibleAttribute($value)
- // {
- // $this->attributes['visible'] = $value ? 1 : 0;
- // }
- // public function setAlwaysShowAttribute($value)
- // {
- // $this->attributes['always_show'] = $value ? 1 : 0;
- // }
- // public function getVisibleAttribute($value)
- // {
- // $this->attributes['visible'] = !$value;
- // }
- // public function setKeepAliveAttribute($value)
- // {
- // $this->attributes['keep_alive'] = $value ? 1 : 0;
- // }
- }
|