Я создал политику Laravel под названием «UserPolicy», которая должна отфильтровывать пользователей, у которых нет прав на редактирование, удаление и обновление других пользователей. Проблема в том, что я пытаюсь передать информацию внешнего пользователя в политику. Но вместо этого он просто возвращает информацию о проверенных пользователях.
Моя политика:
public function edit(?User $user)
{
if(auth()->check()) {
dd($user);
$userpower = auth()->user()->roles()->min('power');
if($userpower <= $user->power) {
return true;
} else {
return false;
}
} else {
return false;
}
}
Мой контроллер:
public function edit(User $user)
{
$this->authorize('edit', $user);
$roles = Role::all();
$user = User::where('steamid', $user->steamid)->with('roles')->first();
return view('manage.includes.users.edit')->with(compact('user', 'roles'));
}
Например, я пользователь Боб. Я пытаюсь отредактировать пользователя, Джон. В качестве теста я включил функцию dd () для вывода информации о $ user, которая передается в Политику. После просмотра результатов, вместо того, чтобы передать информацию Джона, это Боб. Как я могу сделать это там, где это информация Джона, а не Боба.
Спасибо за вашу помощь, если вам нужна дополнительная информация, пожалуйста, дайте мне знать.