我的登录控制器有问题。当我登录时,它给出了标题中的消息。如果我更改重定向以返回视图,它会起作用,但 url 显示以前的 url。
代码:
protected function authenticated(Request $request, $user)
{
if(Auth::check()) {
if(Auth::user()->hasRole(['admin-user', 'super-user'])) {
$users = User::where('id', '!=', \auth()->user()->id);
return redirect()->to('/admin_dashboard')->with(compact('users'));
}else {
return redirect('/home');
}
}
}
我正在使用 spatie-permissions 和两个角色 admin-user 和 super-user。
我有一个只有 on 方法的 AdminDashboardController
public function index() {
return view('admin.admin_dashboard');
}
如果我在经过身份验证的方法中注释代码,它可以正常登录,但如果存在管理员用户或超级用户角色,我需要将其重定向到管理员页面。我在 if 语句中设置了一个断点,然后它转到重定向-> 到。不知道我做错了什么。
答案 0 :(得分:0)
我遇到了同样的错误,但原因不同。
您收到此错误是因为您正在尝试序列化查询生成器实例。您只能序列化一个集合/模型。
$users = User::where('id', '!=', \auth()->user()->id);
这将返回一个 Builder 实例,因此将其编辑为:
$users = User::where('id', '!=', \auth()->user()->id)->get();