2017-10-23 5 views
0

Ich brauche Hilfe mit einer foreach Schleife in Laravel. Aus irgendeinem Grund muss ich zwei Zeilen anstelle von zwei Tabellen haben (würde mein Problem gelöst haben) Ich habe jedoch Probleme mit der Arbeit, weil ich nicht weiß, wo ich meine Tags platzieren muss, um die richtige Tabellenstruktur zu erhalten.Foreach Schleife (Laravel Klinge)

Code:

<table class="minimalistBlack"> 
    <tbody> 
     <tr> 
      <th>Etternavn</th> 
      <th>Navn</th> 
      <th>Posthylle</th> 
      <th>X</th> 
      <th>Etternavn</th> 
      <th>Navn</th> 
      <th>Posthylle</th> 

     </tr> 
    @foreach ($data as $mailbox) 
     <td>{{ $mailbox->last_name }}</td> 
     <td>{{ $mailbox->first_name }}</td> 
     <td>{{ $mailbox->row }}{{ $mailbox->number }}</td> 
     <td></td> 

    @endforeach 
    @foreach ($data2 as $mailbox) 
     <td>{{ $mailbox->last_name }}</td> 
     <td>{{ $mailbox->first_name }}</td> 
     <td>{{ $mailbox->row }}{{ $mailbox->number }}</td> 
    @endforeach 

    </tbody> 
</table> 

Wie kann ich die beiden foreach-Schleifen kombinieren und und die richtige Tabellenstruktur erhalten?

+2

Verwendung 'array_merge()' Funktion in der Steuerung als '$ d = array_merge (Daten $, $ Daten2);' und Ihrer Ansicht nach '@foreach ($ d als $ data)' http: // php.net/manual/en/function.array-merge.php –

+0

Setzen Sie alles in die gleiche foreach! –

+0

Bitte geben Sie ein Beispiel an? Ich habe versucht? Die Sache ist, dass ich das ursprüngliche Array für genau dies in zwei geteilt habe, weil Zeilen 72 Zeilen nicht überschreiten können, bevor sie mit der nächsten Zeile beginnen. –

Antwort

0

Angenommen, die Variablen und $data2 sind Laravel Collection-Instanzen, können Sie einfach $data = $data->concat($data2) verwenden. Jetzt enthält $data Daten beider Variablen. Für ein einfaches Array können Sie $data += $data2; verwenden. Dadurch werden $data & $data2 zu $data zusammengeführt. Dann können Sie einfach:

... 
@foreach ($data as $mailbox) 
<tr> 
    <td>{{ $mailbox->last_name }}</td> 
    <td>{{ $mailbox->first_name }}</td> 
    <td>{{ $mailbox->row }}{{ $mailbox->number }}</td> 
</tr> 
@endforeach 
</tbody> 
</table> 
+0

Dies ist der Code dahinter, vielleicht hilft Ihnen das, https://pastebin.com/Qac45cEx zu verstehen. Danke für die schnelle Antwort, weißt du, was ich versuche zu tun? :) (Zeilenanzahl sollte 72 Zeilen nicht überschreiten, bevor mit der nächsten begonnen wird) –

+0

In diesem Fall einfach 'return view ('pdf.mailbox', ['data' => $ take-> concat ($ chunck)]); 'und dann nur' $ data' in der Blade-Ansicht verwenden. – Ehs4n

+0

Es kombiniert es, aber Zeilen überschritten 72. Sollte ich einen Screenshot zu erklären, was ich archieve? –

1

zu erreichen, genau das Ergebnis, das Sie

foreach (array_combine($courses, $sections) as $course => $section) 

tun konnte, aber das funktioniert nur für zwei Arrays

oder u zwei Tabelle verwenden können, und als einzelne fühlen Tabelle

<div class="row"> 
<div class="col-md-6 col-sm-6"> 
<table class="table table-striped"> 
@foreach ($data as $mailbox) 
    <td>{{ $mailbox->last_name }}</td> 
    <td>{{ $mailbox->first_name }}</td> 
    <td>{{ $mailbox->row }}{{ $mailbox->number }}</td> 
    <td></td> 

@endforeach 
</table> 
</div> 
<div class="col-md-6 col-sm-6"> 
<table class="table table-striped"> 
@foreach ($data as $mailbox) 
    <td>{{ $mailbox->last_name }}</td> 
    <td>{{ $mailbox->first_name }}</td> 
    <td>{{ $mailbox->row }}{{ $mailbox->number }}</td> 
    <td></td> 

@endforeach 
</table> 
</div> 

+0

Ich kann zwei Tabellen nicht verwenden, da mein PDF-Exportprogramm kein Bootstrap unterstützt. :( –

0

Benutzer array_merge Funktion in der Steuerung wie diese

$array1 = array("john","ny"); 
$array2 = array("mitchel","ny"); 
$result = array_merge($a1,$a2); 
0

wenn $ Daten und Daten2 haben ein, $ eine Zeile, die Sie wie folgt versuchen.

@foreach ($data as $mailbox) 
<tr> 
<td>{{ $mailbox->last_name }}</td> 
<td>{{ $mailbox->first_name }}</td> 
<td>{{ $mailbox->row }}{{ $mailbox->number }}</td> 
<td></td> 
</tr> 
@endforeach 
@foreach ($data2 as $mailbox) 
<tr> 
<td>{{ $mailbox->last_name }}</td> 
<td>{{ $mailbox->first_name }}</td> 
<td>{{ $mailbox->row }}{{ $mailbox->number }}</td> 
</tr> 
@endforeach