你好,我有两个表具有这种关系:用户型号:
public function OneYearBodys()
{
return $this->hasMany('AppOneYearBody');
}
一年车身型号:
public function user()
{
return $this->belongsTo('AppUser');
}
控制器:
public function index()
{
$Bodies = OneYearBody::all();
return view('OneYear.Body')->with('Bodies',$Bodies);
}
现在我需要显示创建此数据的特定登录用户的数据,我已经在数据库中存储了他的id
,所以我尝试了这个:
@foreach (Auth::user()->Bodies as $body)
{{ $body->OneYearBody }}
<br>
@endforeach
但是我得到了这个错误:invalid argument supplied for foreach()
当我为所有用户显示数据时,当我这样做时,它的工作:
@foreach ($Bodies as $body)
{{ $body->OneYearBody }}
<br>
@endforeach
您将关系声明为public function OneYearBodys() { ... }
,因此应该使用该名称对其进行迭代。@foreach (Auth::user()->OneYearBodys as $body)
如果您想访问以下
@foreach (Auth::user()->Bodies as $body)
{{ $body->OneYearBody }}
<br>
@endforeach
您需要将"实体"关系添加到用户模型中。或将Bodies更改为OneYearBodies