Довольно сложно получить все разрешения в списках пользователей.
$users = user::with('permissions')->get();
это предоставит модель разрешений со списком пользователей. Таким образом, вы получите только разрешения, назначенные пользователю. Но у пользователя есть роль, тогда разрешение роли не будет добавлено.
Но функция $user->getAllPermissions();
предоставит вам все разрешения, связанные с ролью пользователя и разрешением. Но нам нужны все разрешения со списком пользователей.
Я создал функцию Mutators для получения разрешений со списком пользователей.
public function getPermissionAttribute()
{
return $this->getAllPermissions();
}
сейчас Вы можете добавить в свою модель
protected $appends = [
'permission'
]
Теперь, чтобы избежать рекурсивного запроса, напишите свой пользовательский запрос следующим образом:
$users = user::with(['permissions', 'roles'])->get();
Или добавьте в свой модель пользователя
protected $with =[
'permissions',
'roles'
]
Я думаю, это поможет вам.