【发布时间】:2020-12-30 07:28:09
【问题描述】:
我在用户和角色之间创建了一种关系,就像一个用户属于一个角色
public function role(){
return $this->belongsTo('App\Role');
}
现在我正在尝试访问用户角色并抛出此错误
错误:
试图获取非对象的属性
获取用户角色的代码:
@foreach($users as $user)
<tr role="row" class="odd">
<td>{!! $user->role->name !!}</td>
</tr>
@endforeach
表格架构:
用户: ID, 角色标识, 姓名, 电子邮件
角色: ID, 名字
我在 Tinker 中对其进行了测试,它运行良好,但是当我在浏览器中启动它时,它会抛出该错误。
【问题讨论】:
-
我在您的代码中没有发现任何问题。告诉我们你在哪里定义
$users、整个User类和Role类。 -
如何发送 $users 来查看?无论如何,您都希望预先加载角色关系以避免在 @foreach 循环中进行 1+n 次查询。
-
你用过get()方法吗?还是 toArray() 方法?
标签: laravel laravel-5 laravel-5.2