Erweiterungen für die Collection-Klasse von Laravel. Insbesondere groupByMultiple zum Gruppieren von Sammlungen in mehreren Feldern statt nur in einem.
Beispiel:
A | B | C | D |
---|---|---|---|
foo | Bar | baz | Knall |
foo | garly | corge | Plugh |
foo | Bar | corge | Knall |
foo | Bar | corge | Waldo |
qux | garly | xyzzy | Fred |
qux | grault | garly | Quuz |
Durch den Aufruf von myCollection->groupBy(['A', 'B', 'C', 'D']) würde das Ergebnis wie folgt aussehen:
Kreuzkompatibilität Die Funktion „groupByMultiple“ ist in gewisser Weise mit Laravels ursprünglichem „groupBy“ kompatibel, da sie auf die gleiche Weise funktioniert, wenn Sie als erstes Argument etwas übergeben, das kein Array ist. Sie können sie also genau wie „groupBy“ mit einem String oder einem Abschluss aufrufen. Die Funktion fügt einfach das erste Argument in ein Array ein, wenn es keins ist. Wenn Sie versuchen, ein aufrufbares Element als Array zu übergeben, also ["Foo", "Bar"], wobei Foo::Bar() eine gültige Methode ist, dann versucht die Funktion groupByMultiple natürlich nur, nach dem Schlüssel "Foo" zu gruppieren. zuerst und „Bar“ zweitens; Dies ist die Hauptinkompatibilität mit groupBy(). Natürlich können Sie ein Array mit einem Callable darin übergeben, also würden [["Foo", "Bar"]] oder [["Foo", "Bar"], "Baz"] gut funktionieren. Für Personen, die GroupBy bereits verwenden, wird der Wechsel zu dieser Funktion sehr einfach sein.