php - 拉拉维尔 5.7 : Trying to get property 'role' of non-object

标签 php laravel error-handling eloquent syntax-error

我明白了:

Trying to get property 'role' of non-object (View: 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 没有登录,我会收到如下错误:

Trying to get property 'role' of non-object (View: E:\xampp\htdocs\demo\resources\views\pages\home.blade.php)

最佳答案

当您未登录时,用户为 null(非对象)。

您可以通过在尝试访问其属性之前检查用户是否已登录来解决此问题。

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

关于php - 拉拉维尔 5.7 : Trying to get property 'role' of non-object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57352923/

相关文章:

php - 恐惧超时与 'mod_fcgid: read timeout from pipe'

php - 当php手册说前者在内部使用后者时,为什么gmmktime()比mktime()更快?

php - 获取 Laravel 中不同表中每个 id 的总计数

javascript - 使用 Laravel 和 Ajax 获取日期数据

swift - 在 Swift 中传播参数验证错误的最佳方法是什么?

php - 我对查找表的查询是否太多,有人可以提出替代方案吗?

PHP Magic 比简单地设置类属性更快?

php - 使用 select 选择不在的地方

vba - 如何排除#VALUE!或#DIV/0!在使用 VBA 计算平均值的列中

c# - .NET 异常处理有多繁重?