首先,我登录并在我的视图中显示错误“ Undefined $ scholar”。
if (Auth::check()) {
$scholar = Scholar::where('user_id','=','Auth::User()->id')->count();
view()->share('scholar', $scholar);
}
第二秒,我尝试dd(Auth::check());
并在我登录时返回false。
为什么Auth::check()
即使用户登录也返回false?
if (Auth::check()) {
dd(Auth::check());
$scholar = Scholar::where('user_id','=','Auth::User()->id')->count();
view()->share('scholar', $scholar);
}
答案 0 :(得分:0)
三个错误:
您的where子句将auth用户ID放在引号中,因此它将其作为字符串进行评估,因此查询找不到任何行
您不是要完全获取“学者”行,而是要查询计数吗?
您访问的用户不正确
尝试一下:
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