我正在尝试将Laravel项目从Laravel 5.1升级到5.8。我注意到在项目中使用了Auth::user()
而不是Auth::user()->user()
,在Laravel 5.8中,由于Auth::user
为null,在某些情况下我得到了null异常。我应将Auth::user()->user()
的所有实例替换为Auth::user()
吗?
答案 0 :(得分:3)
您应该使用此-
Auth::user();
或者这个-
auth()->user();
请确保您的用户模型中没有名称为 user()的方法/关系,这可能是您拥有 user()-> user()的原因>类似语法。如果不是这种情况,请随时用 auth()-> user()
替换它答案 1 :(得分:1)
如果Auth:user()
为空,则表示系统未获得经过身份验证的用户。
但是,如果要获得经过身份验证的用户,则应使用Auth::user()
或auth()->user()
来检索User
模型
答案 2 :(得分:1)
检查您的路由是否添加了身份验证中间件,然后尝试使用此代码。
auth()->user();
,这将使与Auth::user();
相同的经过身份验证的用户进入