Laravel blade echo 该值无效

Laravel blade echo the value doesn't work

我有两张桌子..

用户和 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

这个return错误

正在尝试获取 属性 'country' 的非对象


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

@forelse ($users as $user)

  {{ dd($user->user_meta->country) }}

  @empty
  @endforelse 

我可以正确看到值 return。 美国

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

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