我有一对多模型。 一个有许多练习的WorkoutDetails。
我能够显示练习的所有数据,但我只需要属性'标题'。
在控制器中我有
public function getDetails($id){
$details = WorkoutDetails::where('parent_id','=',$id)->get();
return View::make('menu_renderer.partials.details')->with('details', $details);
}
在HTML中我有
@foreach($details as $detail)
<div>
<ul>
{{$detail->exercises}}
</ul>
</div>
@endforeach
输出是:
[{“id”:1,“type_id”:0,“title”:“练习一”,“详情”:“详情 运动一个“,”媒体“:”5“,”created_at“:” - 0001-11-30 00:00:00“,”updated_at“:” - 0001-11-30 00:00:00“}] [{“id”:2,“type_id”:0,“title”:“练习二”,“详情”:“详情 练习两个“,”媒体“:”2“,”created_at“:” - 0001-11-30 00:00:00“,”updated_at“:” - 0001-11-30 00:00:00“}] [{“id”:3,“type_id”:0,“title”:“练习三”,“详情”:“详情 练习三“,”媒体“:”6“,”created_at“:” - 0001-11-30 00:00:00“,”updated_at“:” - 0001-11-30 00:00:00“}] [{“id”:4,“type_id”:0,“title”:“练习四”,“详情”:“详情 练习四“,”媒体“:”6“,”created_at“:” - 0001-11-30 00:00:00“,”updated_at“:” - 0001-11-30 00:00:00“}]
哪个不错,但我只需要标题或细节。
我试过
@foreach($details as $detail)
<div>
<ul>
{{$detail->exercises->title}}
</ul>
</div>
@endforeach
或
@foreach($details as $detail)
<div>
<ul>
{{$detail->exercises.title}}
</ul>
</div>
@endforeach
或
@foreach($details as $detail)
<div>
<ul>
{{$detail->exercises[title]}}
</ul>
</div>
@endforeach
但没有......
任何人都可以给我一个提示,我如何才能显示属于WorkoutDetails模型的每个练习的标题或细节?
谢谢!
答案 0 :(得分:1)
从提供的转储中,似乎另一个数组正在保存内部数据。
因此尝试:
@foreach($details as $detail)
<div>
<ul>
{{$detail->exercises[0][title]}}
// or :
{{$detail->exercises[0]->title}}
</ul>
</div>
@endforeach
答案 1 :(得分:0)
您可以使用laravel查询函数first()
来拾取第一个对象。
@foreach($details as $detail)
<div>
<ul>
{{ $detail->exercises->first()->title }}
</ul>
</div>
@endforeach