laravel collection extensions
1.0.0
Laravel Collection 類別的擴充。值得注意的是 groupByMultiple 用於對多個欄位(而不是僅一個欄位)上的集合進行分組。
例子:
一個 | 乙 | C | D |
---|---|---|---|
富 | 酒吧 | 巴茲 | 砰的一聲 |
富 | 加普利 | 科爾傑 | 普魯夫 |
富 | 酒吧 | 科爾傑 | 砰的一聲 |
富 | 酒吧 | 科爾傑 | 沃爾多 |
曲調克斯 | 加普利 | XYZY | 弗雷德 |
曲調克斯 | 格羅特 | 加普利 | 提問 |
透過呼叫 myCollection->groupBy(['A', 'B', 'C', 'D']) 結果將變為:
交叉相容性groupByMultiple 函數在某種程度上與Laravel 的原始groupBy 相容,因為如果您傳遞非陣列作為第一個參數,它的功能是相同的,所以就像groupBy 一樣,您可以使用字串或閉包來調用它。如果第一個參數不是一個,則函數只是將其放入陣列中。如果您嘗試將可呼叫物件作為陣列傳遞,因此 ["Foo", "Bar"] 其中 Foo::Bar() 是有效方法,那麼 groupByMultiple 函數當然只會嘗試將鍵「Foo」進行分組第一個,第二個「酒吧」;這是與 groupBy() 的主要不相容性。當然,您可以傳遞一個包含可呼叫物件的數組,因此 [["Foo", "Bar"]] 或 [["Foo", "Bar"], "Baz"] 就可以了。對於已經使用 groupBy 的人來說,切換到這個功能會很容易。