尝试获取 属性 的非对象 Laravel 5.3
Trying to get property of non-object Laravel 5.3
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');
}
尝试添加 ->get()
.
$activiter = Activiter::find($id)->get()
;
Activiter::find($id)
returns 一个模型 object 所以你不能 foreach 它。
您的 blade 文件应为:
@foreach($activiter->eleves as $data)
<td>
{{ $data->nom }}
</td>
<td>
{{ $data->prenom }}
</td>
<td>
{{ $data->date_naissance }}
</td>
@endforeach
并且您应该使用 findOrFail()
来确认数据被正确提取为:
`$activiter = Activiter::findOrFail($id);`
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');
}
尝试添加 ->get()
.
$activiter = Activiter::find($id)->get()
;
Activiter::find($id)
returns 一个模型 object 所以你不能 foreach 它。
您的 blade 文件应为:
@foreach($activiter->eleves as $data)
<td>
{{ $data->nom }}
</td>
<td>
{{ $data->prenom }}
</td>
<td>
{{ $data->date_naissance }}
</td>
@endforeach
并且您应该使用 findOrFail()
来确认数据被正确提取为:
`$activiter = Activiter::findOrFail($id);`