Я новичок в Laravel и хотел бы иметь некоторые сомнения.
У меня есть следующее отношение в базе данных
users -> user_role -> role -> role_permission -> permissions
Проблема в том, что я не могу определить, есть ли у конкретного пользователя эксклюзивные права.
Я использую следующую команду:
dd (Auth :: user ()-> role () -> with ('permissions') -> get ());
и отображается следующее:
![enter image description here](https://i.stack.imgur.com/jkolt.png)
Я хотел бы знать, как мне поступить, чтобы узнать, есть ли у вошедшего в систему пользователя разрешение: «name» => «post_list_own»
Я пробовал где, содержит, но я думаю, что ядействительно не знаю что делать.
Этот код ниже удовлетворяет меня, но я хотел что-то более чистое.
public function hasAnyPermission($permission)
{
foreach (Auth::user()->roles()->with('permissions')->get() as $value) {
foreach ($value->permissions as $value2) {
if($permission==$value2->name){
return true;
}
}
}
return = false;
}
Спасибо!