2017-02-13 12 views
0

Ich versuche, eine einfache Möglichkeit zu finden, bestimmte Werte aus einem Array anzuzeigen. Hier ein kleiner Hintergrund des Projekts und was ich erreichen möchte.Anzeige bestimmter Werte aus Array - Laravel

Hintergrund

ich abgeladen dieses Array {{ dd($stories) }}:

Collection {#240 ▼ 
    #items: array:7 [▼ 
    0 => Story {#241 ▼ 
     #table: "stories" 
     #fillable: array:7 [▶] 
     #connection: null 
     #primaryKey: "id" 
     #keyType: "int" 
     +incrementing: true 
     #with: [] 
     #perPage: 15 
     +exists: true 
     +wasRecentlyCreated: false 
     #attributes: array:10 [▼ 
     "id" => 17 
     "title" => "Some New Post" 
     "slug" => "some-new-post" 
     "category_id" => 8 
     "is_draft" => 0 
     "feat_image" => null 
     "body" => """ 
      <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas non sagittis ipsum. Vivamus tristique, purus ut accumsan blandit, lorem turpis pellentesque ▶ 
      <p>Nulla nec dignissim odio. Curabitur sodales ullamcorper sapien ac tristique. Ut condimentum sodales sem, in pretium felis efficitur quis. Proin rhoncus a ips ▶ 
      <p>Nulla facilisi. Suspendisse nec nisl tristique, consectetur nibh et, sollicitudin ligula. Aliquam erat volutpat. Nunc et mauris vehicula nibh rutrum viverra. ▶ 
      <p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In hac habitasse platea dictumst. Nulla auctor massa faucibus elit semp ▶ 
      <p>Maecenas congue mi sapien, eu dictum elit vestibulum quis. Aenean scelerisque iaculis turpis, sed dictum nisi lobortis at. Quisque justo ante, dapibus vel ia ▶ 
      """ 
     "excerpt" => "Some excerpt for all to see" 
     "created_at" => "2017-02-12 23:00:35" 
     "updated_at" => "2017-02-12 23:00:35" 
     ] 
     #original: array:10 [▶] 
     #casts: [] 
     #dates: [] 
     #dateFormat: null 
     #appends: [] 
     #events: [] 
     #observables: [] 
     #relations: [] 
     #touches: [] 
     +timestamps: true 
     #hidden: [] 
     #visible: [] 
     #guarded: array:1 [▶] 
    } 
    1 => Story {#242 ▶} 
    2 => Story {#243 ▶} 
    3 => Story {#244 ▶} 
    4 => Story {#245 ▶} 
    5 => Story {#246 ▶} 
    6 => Story {#247 ▶} 
    ] 
} 

konnte ich die SQL-Abfrage einzurichten, die ersten sieben (7) Gegenstände zu bekommen, wo 'is_draft' = 0 mit eloquent:

$content['stories'] = Story::where('is_draft', '=', 0) 
      ->orderBy('created_at', 'desc') 
      ->take(7) 
      ->get(); 

das Problem ist jetzt, ich statisch Ausgangsdaten von diesem Array möchte. Zum Beispiel:

<span class="grid single">{{ $story[0]->title }}</span> 
<span class="grid double">{{ $story[1]->title }}</span> 

ausgeben sollte

<span>Some New Post</span> 
<span>Another Post</span> 

Ich bin nicht sicher, was die Syntax ist oder wie die Array-Schleife einzurichten durch und zeigt nur die Elemente angefordert. Ich bin mir sicher, dass es eine foreach Schleife benötigt und vielleicht eine while Schleife darin verschachtelt ist. Nur unsicher über die Syntax. Irgendwelche Ideen Jungs?

+0

Mit dem Index 'zu sein Geschichten 'sollte es nicht' $ Geschichten [0] -> Titel' sein? –

+0

@RossWilson Das funktioniert. Ich konnte '$ stories [0] -> title' verwenden. Vielen Dank für Ihre Hilfe! – sogeniusio

Antwort

0

Wenn Sie bereits die richtige Liste von Elementen haben (ich habe es $stories in diesem Beispiel genannt), müssen Sie einfach diese Liste Schleife über Laravel Blade mit @foreach Richtlinie:

@foreach ($stories as $story) 
<span>{{ $story->title }}</span> 
@endforeach 
+0

Sorry für die Verwirrung, ich habe meinen ursprünglichen Beitrag bearbeitet. Ich habe vergessen, hinzuzufügen, dass ich möchte, dass es durch die Schleife iteriert, und greifen Sie bestimmte Werte und legen Sie sie in verschiedenen Teilen meiner HTML-Seite. Im obigen Beispiel werden alle Stories durchlaufen und die Story-Daten in einem Raster platziert. Dem Raster werden verschiedene Klassen hinzugefügt (nicht dynamisch, obwohl ich die Option erkunde), daher funktioniert eine 'foreach' wirklich für mich. – sogeniusio

+0

@ sogen1us Es ist immer noch nicht klar, was Sie zu tun versuchen. Und funktioniert '$ stories [0] -> title' nicht? Wenn Sie in Ihrer Frage viel spezifischer sind, kann ich vielleicht helfen. – mopo922

+0

Also das Problem war, ich benutzte die Foreach. Ich musste es nicht verwenden, da @ mopo922 vorgeschlagen wurde, ich muss mich nur direkt auf das Element im Array beziehen. Danke allen! – sogeniusio