Hallo zusammen,
ich bräuchte mal einen Denkansatz von euch...
In Laravel erstelle ich innerhalb eines Controllers eine Funktion, die folgendes macht:
Sie läd aus der Datenbank die jeweils zum User angelegten Konten. Anschließend läd
sie in einer neuen DB-Abfrage die jeweiligen Buchungen der entsprechenden Konten.
Sagen wir mal, User mit der ID 1 hat drei Konten angelegt:
Das Ganze möchte ich dann im View folgendermaßen darstellen:
- Commerzbank
-> Buchung 1
-> Buchung 2
-> Buchung 3
- Sparkasse
-> Buchung 1
-> Buchung 2
...
Leider bekomme ich das mit den Arrays und den Schleifen
nicht so richtig umgesetzt. Anbei mein Code:
Ausschnitt aus dem Controller:
Ausschnitt aus dem View:
Ich glaube, dieser Ansatz ist aber alles andere als richtig!?
Wie kann ich sowas noch besser und richtig realisieren?
VG
ich bräuchte mal einen Denkansatz von euch...
In Laravel erstelle ich innerhalb eines Controllers eine Funktion, die folgendes macht:
Sie läd aus der Datenbank die jeweils zum User angelegten Konten. Anschließend läd
sie in einer neuen DB-Abfrage die jeweiligen Buchungen der entsprechenden Konten.
Sagen wir mal, User mit der ID 1 hat drei Konten angelegt:
- Commerzbank (mit 2 Wochungen)
- Sparkasse (mit 3 Buchungen)
- DiBa (mit 6 Buchungen)
Das Ganze möchte ich dann im View folgendermaßen darstellen:
- Commerzbank
-> Buchung 1
-> Buchung 2
-> Buchung 3
- Sparkasse
-> Buchung 1
-> Buchung 2
...
Leider bekomme ich das mit den Arrays und den Schleifen
nicht so richtig umgesetzt. Anbei mein Code:
Ausschnitt aus dem Controller:
PHP:
public function alleBuchungen()
{
// Kontenbezeichnungen
$accBez = DB::table('konten')
->where('uid', '=', Auth::user()->id)->get();
// Alle Buchungen ausgeben
$i = 0;
foreach ($accBez as $aBez) {
$buchungen[$i] = DB::table('buchungen')
->where('acc', '=', $aBez)
->where('uid', '=', Auth::user()->id)
->where('datum', '<=', date('Y-m-d'))
->orderBy('datum', 'desc')
->get();
$i++;
}
return view('meineBuchungen', compact('buchungen', 'accBez'));
}
Ausschnitt aus dem View:
HTML:
@foreach($accBez as $accName) // Accounts
<h2>{{ $accName->bezeichnung }}</h2>
@endforeach
<table width="100%" border="1">
<tr>
<th>Datum</th>
<th>Bezeichnung</th>
<th>Betrag</th>
</tr>
@php
$i = 0;
@endphp
@foreach($buchungen[$i] as $buchung)
<tr>
<td>{{ date('d.m.Y', strtotime($buchung->datum)) }}</td>
<td>{{ $buchung->bezeichnung }}</td>
<td>{{ number_format($buchung->betrag,2) }} €</td>
</tr>
@php
$i++;
@endphp
@endforeach
</table>
Ich glaube, dieser Ansatz ist aber alles andere als richtig!?
Wie kann ich sowas noch besser und richtig realisieren?
VG