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 的人来说,切换到这个功能会很容易。