'datetime', ]; /** * The accessors to append to the model's array form. * * @var array */ protected $appends = [ 'profile_photo_url', ]; /** * @return \Illuminate\Support\Collection */ public function menus() { return Menu::where(function (Builder $query) { $this->permissions->each(fn (Permission $permission) => $query->orWhereRelation('permissions', 'id', $permission->id)); $this->roles->each(function (Role $role) use ($query) { $role->permissions->each(fn (Permission $permission) => $query->orWhereRelation('permissions', 'id', $permission->id)); $query->orWhereRelation('roles', 'id', $role->id); }); })->get(); } }