2016-08-03 151 views
0

我有一对多模型。 有很多练习的锻炼细节。获取对象的属性

我能够显示练习的所有数据,但我只需要属性'标题'。

在控制器I有

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”:“Exercise one”,“details”:“Details exercise one”,“media”:“5”,“created_at”:“ - 0001-11-30 00:00:00”,“的updated_at “:” - 0001 -11-30 00:00:00“}] [{”id“:2,”type_id“:0,”标题“:”练习二“,”细节“:”细节 练习二“,”媒体“ :“2”,“created_at”:“ - 0001-11-30 00:00:00”,“updated_at”:“ - 0001-11-30 00:00:00”}] [{“id”: 3,“type_id”:0,“标题”:“练习三”,“细节”:“细节 练习三”,“媒体”:“6”,“created_at”:“ - 0001-11-30 00: 00:00“,”updated_at“:” - 0001-11-30 00:00:00“}] [{”id“:4,”type_id“:0,”title“:”Exercise four“,”details “:”详细信息 练习四“,”媒体“:”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 

但没有......

谁能给我一个提示,我怎么能只显示了标题或每个Ex的细节ercise属于WorkoutDetails模型?

谢谢!

回答

1

从提供的转储中,看起来另一个数组持有内部数据。

因此尝试:

@foreach($details as $detail) 
     <div> 
      <ul> 
       {{$detail->exercises[0][title]}} 
       // or : 
       {{$detail->exercises[0]->title}} 
      </ul> 
     </div> 
@endforeach 
+0

它工作!非常感谢你 !! – codi05ro

0

可以使用laravel查询功能first()皮卡的第一个对象。

@foreach($details as $detail) 
    <div> 
     <ul> 
      {{ $detail->exercises->first()->title }} 
     </ul> 
    </div> 
@endforeach