Ich habe ein Modell Order
wie so genannt:Laravel: Gruppierung von Zeilen
class Order extends Model
{
public function offer()
{
return $this->belongsTo(Offer::class);
}
}
Beispiel Zeilen wie diese
aussehenid quantity offer_id
15 5 20
20 1 21
25 3 20
30 2 27
35 1 20
40 1 21
ich gruppieren möchten alle Aufträge von offer_id
Laravel Eloquent mit geben, die folgende Ausgabe:
[
[20] => [
// order 15,
// order 25,
// order 35,
],
[21] => [
// order 20,
// order 40,
]
[27] => [
// order 30,
]
]
Wie kann ich das effizient machen? Ich habe folgendes versucht:
Order::groupBy('offer_id)->get();
Aber dies ist nur versteckt Aufträge mit den gleichen offer_id
.
Beachten Sie, dass ich im Idealfall dies alles in Laravel Elqouent tun werde, im Gegensatz zu etwas Post-Processing.
Wie wäre es 'Auftrag gefunden :: get() -> groupBy (‚OFFER_ID‘)', bearbeitet diese die Sammlung, nachdem er abgeholt wurde, aber das tut, was Sie wollen (wie [hier dokumentiert ] (https://laravel.com/docs/5.4/collections#available-methods) – milo526