2016-08-03 33 views
0

Ich habe ein Modell für eins zu viele. Ein WorkoutDetails mit vielen Übungen.Erhalte die Eigenschaft eines Objekts

Ich konnte alle Daten für die Übungen anzeigen, aber ich brauche nur die Eigenschaft 'Titel'.

In Controller Ich habe

public function getDetails($id){ 

     $details = WorkoutDetails::where('parent_id','=',$id)->get(); 


     return View::make('menu_renderer.partials.details')->with('details', $details); 
    } 

Und in HTML Ich habe

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

Und der Ausgang ist:

[{ "id": 1, "type_id": 0, "Titel": "Übung 1", "Details": "Details Übung 1", "Medien": "5", "created_at": "- 0001-11-30 00:00:00", " aktualisierte_at ":" - 0001 -11-30 00:00:00 "}] [{" id ": 2," type_id ": 0," title ":" Übung zwei "," details ":" Details Übung zwei "," media " : "2", "created_at": "- 0001-11-30 00:00:00", "aktualisiert_at": "- 0001-11-30 00:00:00"}] [{"id": 3, "type_id": 0, "title": "Übung drei", "details": "Details Übung drei", "media": "6", "created_at": "- 0001-11-30 00: 00:00 "," updated_at ":" - 0001-11-30 00:00:00 "}] [{" id ": 4," type_id ": 0," titel ":" Übung vier "," details ":" Details Übung vier "," Medien ":" 6 "," created_at ":" - 0001-11-30 00:00:00 "," updated_at ":" - 0001-11-30 00:00 : 00 "}]

Das ist nicht schlecht , aber ich brauche nur den Titel oder die Details.

Ich versuchte

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

oder

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

oder

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

Aber nichts ...

Kann mir jemand einen Tipp geben, wie kann ich zeigen nur die Titel oder Details jedes Ex Was gehört zum WorkoutDetails Modell?

Vielen Dank!

Antwort

1

Von dem bereitgestellten Dump scheint ein anderes Array die inneren Daten zu enthalten.

daher versuchen:

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

Es hat funktioniert! Vielen Dank !! – codi05ro

0

Sie können Laravel Abfragefunktion first() zur Abholung das erste Objekt verwenden.

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