我有时会在标题中看到错误,但是当我刷新几次时,我的应用程序再次运行。
Laravel.log显示了这个:
[2016-12-19 13:17:22] local.ERROR:异常'ErrorException'用 消息'试图在
中获取非对象的属性'存储\框架\视图\ e81b4a67320194ba9a4782ec91b02d51:12
storage / framework / views / e81b4a67320194ba9a4782ec91b02d51.php第12行:
<span class="block m-t-xs">
<strong class="font-bold"><?php echo e(Auth::user()->name); ?></strong> <!--line 12-->
</span>
答案 0 :(得分:4)
Auth::check()
或Auth::user()
。这是因为您试图获取用户对象的属性,但用户对象为null。像这样
<span class="block m-t-xs">
@if(Auth::check())
<strong class="font-bold">
{{ Auth::user()->name }}
</strong>
@endif
</span>
答案 1 :(得分:0)
由于某种原因Auth::check()
返回false,但应用没有注销。清除cookie并再次登录后,此错误停止发生。
我怀疑问题是我改变了用户并认证了很多但没有清除cookie
答案 2 :(得分:0)
您应该使用auth()->check()
检查会话是否包含经过身份验证的用户:
<span class="block m-t-xs">
<strong class="font-bold">
<?php echo (auth()->check()) ? e(Auth::user()->name) : ''; ?>
</strong>
</span>
您可以使用三元运算符来检查用户是否已通过身份验证。
希望这有帮助!
答案 3 :(得分:-1)
为什么要尝试使用e()
?尝试dd(Auth::user())
然后查看结果或尝试
{{ Auth::user()->name }}