create user menus method
This commit is contained in:
@@ -63,4 +63,21 @@ class User extends Authenticatable
|
|||||||
protected $appends = [
|
protected $appends = [
|
||||||
'profile_photo_url',
|
'profile_photo_url',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return \Illuminate\Support\Collection
|
||||||
|
*/
|
||||||
|
public function menus()
|
||||||
|
{
|
||||||
|
return Menu::whereNull('parent_id')
|
||||||
|
->where(function (Builder $query) {
|
||||||
|
$query->whereHas('permissions', function (Builder $query) {
|
||||||
|
$query->whereIn('permissions.id', $this->permissions->pluck('id'));
|
||||||
|
|
||||||
|
$this->roles->each(fn (Role $role) => $query->orWhereIn('permissions.id', $role->permissions->pluck('id')));
|
||||||
|
})->orDoesntHave('permissions');
|
||||||
|
})
|
||||||
|
->with('childs')
|
||||||
|
->get();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user