拉拉维尔刀片回声值不起作用



我有两个表..

用户和用户元
我用hasOne((在他们之间建立了关系。

public function user_meta() {
return $this->hasOne('AppUserMeta');
}

控制器

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

此返回错误

试图获取非对象的属性"国家">


但是在这里,如果我像这样使用dd((。

@forelse ($users as $user)
{{ dd($user->user_meta->country) }}
@empty
@endforelse 

我可以正确看到值返回。美国

dd第一个元素的停止循环执行。如果使用dump帮助程序,则在多次迭代后将再次看到此错误。您需要检查null

@forelse ($users as $user)
@if(!is_null($user->user_meta))
{{ $user->user_meta->country }}
@endif    
@empty
@endforelse