Ich bin in einem Controller für Laravel 5.2 und versuche, durch eine eloquente Sammlung von invoice_items zu iterieren, die zu etwas wie Bestellpositionen übersetzen würde. So würde die Rechnung als die Bestellung fungieren, hätte sie bestellte Artikel (invoice_item), und die Rechnungsartikel würden alle bestellten Produkte (Produkt) auflisten.Laravel 5.2 Eloquente foreach-Schleife
Hier ist, was ich habe:
$id = $value; //from param
$invoice = Invoice::where('id', $id)->get();
$invoice_items = Invoice_item::all()->where('invoice_id', $invoice[0]->id);
$contact = Contact::where('id', $invoice[0]->contact_id)->get();
foreach($invoice_items as $item) {
$products = Product::all()->where('id', $item->product_id);
}
Ich versuche, alle Produkte aus dieser bestimmten Rechnung zu ziehen (über Rechnungspositionen), die in diesem speziellen Fall sollten zwei verschiedene Produkte.
Was passiert, ist, wenn ich durch diese Schleife iterieren, fügt es das gleiche Produkt zweimal hinzu, während es jedes Produkt einmal hinzufügen sollte. Ist meine Logik hier falsch? Oder muss ich meine Beziehungen noch einmal anschauen oder so?
Versuchen Sie 'get()' anstelle von 'all()' wenn 'where()' verwendet wird. – aynber
get() gibt leider die gleiche Ausgabe. Danke für die schnelle Antwort! –