Ich versuche, eine Sammlung durch zwei Klauseln in Laravel 5 zu gruppieren, aber es nur gruppiert es durch die erste. Kann mir bitte jemand helfen? Hier ist mein Code.Mehrere groupBy auf Laravel Collection
10
A
Antwort
4
Sie können versuchen, sie zu verketten, aber ich bin mir nicht sicher, dass es Ihnen die gewünschten Ergebnisse bringen wird. Ich habe gerade überprüft diese sollten sicher
$query = Activity::all()->groupBy('performed_at_year_month')->groupBy('performer_id')->toJson();
sein überprüfen und Sie sind richtig, es ist nicht Schlüssel zu bewahren, obwohl ich denke, ich kann mir denken, warum. Wenn ein Schlüssel identisch ist, werden die Dinge überschrieben. Es könnte auch schwierig sein zu bestimmen, welcher Schlüssel was ist und insgesamt fühlt sich ein wenig "hacky" an, wo es wahrscheinlich eine viel bessere Lösung gibt.
Ich denke jedoch, ich habe herausgefunden, wie das geht.
$query = Activity::all();
$activities = new \Illuminate\Database\Eloquent\Collection($query);
$activities = $activities->groupBy('performed_at_year_month')->toArray() + $activities->groupBy('performer_id')->toArray();
echo json_encode($activities);
18
Die Lösung in https://stackoverflow.com/a/30469061/221745 kann auf Ich denke, verbessert werden. Der Schlüssel ist, sich daran zu erinnern, dass eine Sammlung nach Sammlung eine Sammlung von Sammlungen ist. Daher werden folgende Arbeiten:
<?php
$recs = new \Illuminate\Database\Eloquent\Collection($query);
$grouped = $recs->groupBy('performed_at_year_month')->transform(function($item, $k) {
return $item->groupBy('performer_id');
});
Wo $grouped
Ihr Endergebnis
Verwandte Themen
- 1. Laravel 5.2 zupfen() mehrere Attribute von Eloquent Model Collection
- 2. groupby mehrere Wertspalten
- 3. groupBy auf mehrere Spalten meine Innerclass
- 4. Laravel SQL groupBy Und Sum
- 5. Rekursive Array Map mit Laravel Collection map() Helper
- 6. Garbage Collection für mehrere VMs
- 7. Linq GroupBy und mehrere Spalten
- 8. Laravel 4.2 Update mehrere Modelle
- 9. Laravel Verwendung Count/Summe Methode nach groupBy
- 10. Laravel Get Collection für eine Sammlung
- 11. Wie mehrere RxJava der groupBy() Methoden zur Kette wie groupBy() groupBy()
- 12. groupby mehrere Werte und Plotten Ergebnisse
- 13. Wie gruppieren mehrere Elemente mit GroupBy()?
- 14. Hilfe für SQL - GroupBy und mehrere Aggregate
- 15. GroupBy SqlFunction auf QueryOver
- 16. Plotten basierend auf groupby
- 17. Pandas groupby Ergebnis in mehrere Spalten
- 18. C# GroupBy - Erstellen mehrere Gruppierung Ebene
- 19. Boxplot muss mehrere groupby in Pandas verwenden
- 20. Mehrere Join mit groupby in linq
- 21. Collection View Mehrere horizontale Abschnitt Header
- 22. Permgen Garbage Collection dauert mehrere Full GC
- 23. Laravel 4 - Mehrere Formulare auf derselben Seite?
- 24. Laravel migrieren - mehrere Migrationen (Dateien) auf einmal
- 25. Laravel Zuhörer auf mehrere Ereignis hören
- 26. Angularjs groupBy + orderBy
- 27. Funktion auf pandas groupby anwenden
- 28. anwenden groupby Regeln auf Zeitreihen?
- 29. Pandas groupby auf zwei Bedingungen
- 30. Pandas Concat-Arrays auf groupby
Dank enthält! Dies gibt die Daten korrekt gruppiert zurück, enthält jedoch nicht die Schlüssel (performed_at_year_month, performer_id) für die JSON-Zeichenfolge. Kannst du eine Lösung dafür empfehlen? –
Ich habe meine Antwort aktualisiert. – user3158900
Große Antwort hat mir geholfen! Upvoting. – kevinabraham