我有两张桌子..
用户和UserMeta
我用hasOne()创建了它们之间的关系。
模型
public function user_meta() {
return $this->hasOne('App\UserMeta');
}
控制器
public function index() {
$users = User::orderBy('id', 'desc')->paginate(10);
return view('users.index')->with('users', $users);
}
查看
@forelse ($users as $user)
{{ $user->user_meta->country }}
@empty
@endforelse
此返回错误
努力获取财产' country'非对象
但是如果我像这样使用 dd()那么。
@forelse ($users as $user)
{{ dd($user->user_meta->country) }}
@empty
@endforelse
我可以正确看到值返回。 美国
答案 0 :(得分:0)
dd
停止第一个元素的循环执行。如果您使用dump
帮助程序,则会在多次迭代后再次看到此错误。您需要检查null
:
@forelse ($users as $user)
@if(!is_null($user->user_meta))
{{ $user->user_meta->country }}
@endif
@empty
@endforelse