| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | <?phpnamespace App\Models;use Illuminate\Database\Eloquent\Builder;use Illuminate\Foundation\Auth\User as Authenticatable;use Illuminate\Notifications\Notifiable;use Laravel\Sanctum\HasApiTokens;/** * Admin * @mixin Builder * @method static Builder|static where($column, $operator = null, $value = null, $boolean = 'and') */class Role extends Authenticatable{    use HasApiTokens, Notifiable;    protected $table = 'roles';    protected $hidden = ['created_at', 'updated_at'];    protected $fillable = ['name', 'display_name', 'description' ];    protected $appends = ['menus_ids', 'menus_uris'];    protected function getCreatedAtAttribute($value)    {        return \Carbon\Carbon::parse($value)->setTimezone('Asia/Shanghai')->format('Y-m-d H:i:s');    }    protected function getUpdatedAtAttribute($value)    {        return \Carbon\Carbon::parse($value)->setTimezone('Asia/Shanghai')->format('Y-m-d H:i:s');    }    public function users()    {        return $this->belongsToMany(Admin::class, 'role_user', 'role_id', 'user_id');    }     public function menus()    {        return $this->belongsToMany(Menu::class, 'role_menu', 'role_id', 'menu_id');    }    public function getMenusIdsAttribute()    {        return $this->menus->pluck('id')->toArray();    }    public function getMenusUrisAttribute()    {        return $this->menus->pluck('uri')->toArray();    }}
 |