ErrorException: Trying to get property of non-object -- laravel 5.3
我从外键获取数据时遇到麻烦。已经在2个表之间建立关系,但仍然错误给了我Trying to get property of non-object
控制器
public function show($id){
$activiter = Activiter::find($id);
return view('activiter.show',compact('activiter'));
}
show.blade.php
@foreach($activiter as $data)
@if($data->eleves)
<td>
{{ $data->eleves->nom }}
</td>
<td>
{{ $data->eleves->prenom }}
</td>
<td>
{{ $data->eleves->date_naissance }}
</td>
@endif
@endforeach
模型
public function eleves(){
return $this->hasMany('App\Eleve');
}
答案 0 :(得分:1)
尝试添加->get()
。
$activiter = Activiter::find($id)->get()
;
答案 1 :(得分:1)
Activiter::find($id)
返回一个Model对象,因此您无法预知它。
您的刀片文件应为:
@foreach($activiter->eleves as $data)
<td>
{{ $data->nom }}
</td>
<td>
{{ $data->prenom }}
</td>
<td>
{{ $data->date_naissance }}
</td>
@endforeach
您应该使用findOrFail()
确认数据是否正确获取:
`$activiter = Activiter::findOrFail($id);`