Laravel 5.7:尝试获取非对象的属性“角色”

我得到:


试图获取非对象的属性“角色”(视图:E:\xampp\htdocs\demo\resources\views\pages\home.blade.php)


我创建了一个项目,在那里我为登录权限创建了管理员 + 用户“角色”,并立即重定向到 home.blade.php。


在 home.blade.php 我添加以下语法:


@if(Auth::user()->role == 'admin')

<meta http-equiv="REFRESH" content="0;url=admin">

@else

<p>Hello!</p>

@endif

我的目标是让管理员进入主页并重定向到管理页面,而用户只能进入主页。


我的问题是:如果在没有登录的情况下访问 home.blade.php ,我会收到如下错误:


试图获取非对象的属性“角色”(视图:E:\xampp\htdocs\demo\resources\views\pages\home.blade.php)


青春有我
浏览 102回答 1
1回答

绝地无双

当您未登录时,用户为空(非对象)。您可以通过在尝试访问其属性之前检查用户是否已登录来解决此问题。@if(Auth::check()&nbsp;&&&nbsp;Auth::user()->role&nbsp;===&nbsp;'admin')
打开App,查看更多内容
随时随地看视频慕课网APP