laravel collection extensions
1.0.0
Laravel의 Collection 클래스에 대한 확장입니다. 특히 하나가 아닌 여러 필드에 컬렉션을 그룹화하는 groupByMultiple이 있습니다.
예:
에이 | 비 | 기음 | 디 |
---|---|---|---|
푸 | 술집 | 바즈 | 쿵 |
푸 | 가르플리 | 코지 | 플러 |
푸 | 술집 | 코지 | 쿵 |
푸 | 술집 | 코지 | 왈도 |
쿠크스 | 가르플리 | xyzzy | 프레드 |
쿠크스 | 불평 | 가르플리 | quuz |
myCollection->groupBy(['A', 'B', 'C', 'D']) 를 호출하면 결과는 다음과 같습니다.
교차 호환성 groupByMultiple 함수는 배열이 아닌 것을 첫 번째 인수로 전달하는 경우 동일한 방식으로 작동한다는 점에서 Laravel의 원래 groupBy와 어느 정도 호환됩니다. 따라서 groupBy와 마찬가지로 문자열이나 클로저를 사용하여 호출할 수 있습니다. 이 함수는 첫 번째 인수가 배열이 아닌 경우 배열에 넣습니다. 콜러블을 배열로 전달하려고 하면 ["Foo", "Bar"](여기서 Foo::Bar()는 유효한 메서드), 물론 groupByMultiple 함수는 "Foo" 키를 그룹화하려고 시도합니다. 첫 번째 및 "바" 두 번째; 이것이 groupBy()와의 주요 비호환성입니다. 물론 콜러블이 포함된 배열을 전달할 수 있으므로 [["Foo", "Bar"]] 또는 [["Foo", "Bar"], "Baz"]가 제대로 작동합니다. 이미 groupBy를 사용하고 있는 사람들은 이 기능으로 전환하기가 매우 쉽습니다.