Laravel刀片回应价值并不起作用

时间:2018-05-21 08:00:41

标签: laravel-5 echo laravel-blade

我有两张桌子..

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

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

1 个答案:

答案 0 :(得分:0)

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

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