Ekstensi untuk kelas Koleksi Laravel. Terutama groupByMultiple untuk mengelompokkan koleksi di beberapa bidang, bukan hanya satu.
Contoh:
A | B | C | D |
---|---|---|---|
foo | batang | baz | gedebuk |
foo | garply | corge | colokan |
foo | batang | corge | gedebuk |
foo | batang | corge | Waldo |
Qux | garply | xyzzy | fred |
Qux | terima kasih | garply | quuz |
Dengan memanggil myCollection->groupBy(['A', 'B', 'C', 'D']) hasilnya akan menjadi:
Kompatibilitas silang Fungsi groupByMultiple agak kompatibel dengan groupBy asli Laravel karena berfungsi dengan cara yang sama jika Anda meneruskan argumen pertama sesuatu yang bukan array, jadi seperti groupBy Anda dapat memanggilnya dengan string atau penutupan. Fungsinya hanya menempatkan argumen pertama dalam array jika bukan argumen. Jika Anda mencoba meneruskan callable sebagai array, jadi ["Foo", "Bar"] di mana Foo::Bar() adalah metode yang valid, maka tentu saja fungsi groupByMultiple hanya akan mencoba mengelompokkan pada kunci "Foo" pertama dan "Bar" kedua; ini adalah ketidakcocokan utama dengan groupBy(). Tentu saja Anda bisa meneruskan array dengan callable di dalamnya, jadi [["Foo", "Bar"]] atau [["Foo", "Bar"], "Baz"] akan berfungsi dengan baik. Bagi orang yang sudah menggunakan groupBy, fungsi ini akan sangat mudah untuk dialihkan.