auth :: Checker返回错误,即使用户已登录



首先,我登录了,它在我看来会发出错误"未定义的$ Scholar"。

if (Auth::check()) {
        $scholar = Scholar::where('user_id','=','Auth::User()->id')->count();
        view()->share('scholar', $scholar);
}

第二,我尝试使用dd(Auth::check());,然后在IM登录时返回false。
为什么Auth::check()返回false,即使用户已登录?

if (Auth::check()) {
    dd(Auth::check());
    $scholar = Scholar::where('user_id','=','Auth::User()->id')->count();
    view()->share('scholar', $scholar);
}

三个错误:

  1. 您的WHERE子句将Auth用户ID放在报价中,因此它将其评估为字符串,因此查询未找到任何行

  2. 您并不是完全获取学者行,而是在查询计数?

  3. 您访问已验证的用户错误

尝试以下操作:

if (Auth::check()) {
    $scholar = Scholar::where('user_id', '=', Auth::user()->id)->first();
    view()->share('scholar', $scholar);
}

P.S。代替Auth::user()->id,您也可以使用Auth::id()-请在此处查看更多详细信息:https://laravel.com/docs/5.4/authentication

最新更新