2017-01-31 3 views
0

Ich möchte Anzeige Tabellen in einem Blade-Ansicht, die wie folgt sein sollte:eine Tabelle angezeigt, Offset undefiniert Fehler

Table Image

dynamisch ...

eine Kategorie

Wenn ich einen neuen Benutzer hinzufügen und anhängen Es sollte mehr Tabellen anzeigen.

Ich habe 3 Tabellen in meiner Datenbank: Benutzer, user_category und Kategorie

ich die realtionship definierte in meinen Modelldateien. Ein Benutzer kann viele Kategorien haben.

Ich versuchte es mit PHP-Variablen und einem @while Blade-Ausdruck.

@php 
    $i=0; 
@endphp 

@foreach($users as $user) 

    <!-- Display Table Header --> 

    @while($Category[$i]->user_id == $user->id) 

     <!-- Display Table Rows --> 

     @php 
      $i++; 
     @endphp 

    @endwhile 


@endforeach 

Dies gab mir einen Fehler: Nicht definiert Offset: 6.

Ich habe derzeit 6 Reihen in meiner Tabelle. Ich kann den Inhalt anzeigen, wenn ich den Index fest 'codiere', wie zum Beispiel: $ Category [5]. Die Join-Abfrage in meinem Controller funktioniert. Ich sortierte es ascendent von Benutzer-ID

Wie löse ich dieses Problem? Ich bin ein Anfänger und lerne zurzeit Laravel. Ja, ich habe mein Problem vorher gegoogelt. Entschuldigung für mein Englisch

+0

Wenn Sie 6 Zeilen haben, dann sollte der letzte Index 5 sein. Versuchen Sie etwas wie '@foreach ($ user-> categories as $ category) {{$ category-> data1}} .... @ endforeach' –

Antwort

0

Wenn ich Ihre Frage richtig verstehe, könnte Ihnen das vielleicht helfen. Es ist nur ein Beispiel, aber Sie bekommen den Punkt.

<ul> 
@foreach ($users as $user) 
    @foreach ($user->categories as $category) 
    <li>{{ $category->property_1 }}</li> 
    <li>{{ $category->property_2 }}</li> 
    <li>{{ $category->property_3 }}</li> 
    @endforeach 
@endforeach 
</ul> 
+0

Vielen Dank !!! Das funktioniert – JJWalt

+0

Fantastisch! Bitte markieren Sie es als Antwort, wenn Sie es richtig finden –