laravel collection extensions
1.0.0
LaravelのCollectionクラスの拡張機能。特に、groupByMultiple は、1 つだけではなく複数のフィールドでコレクションをグループ化します。
例:
あ | B | C | D |
---|---|---|---|
ふー | バー | バズ | ドスン |
ふー | ガーリー | コージ | プラグ |
ふー | バー | コージ | ドスン |
ふー | バー | コージ | ウォルド |
うーん | ガーリー | キシジー | フレッド |
うーん | うなり声 | ガーリー | クイズ |
myCollection->groupBy(['A', 'B', 'C', 'D']) を呼び出すと、結果は次のようになります。
相互互換性groupByMultiple 関数は、最初の引数として配列ではないものを渡した場合に同じように機能するという点で、Laravel のオリジナルの groupBy とある程度の互換性があるため、groupBy と同じように文字列またはクロージャーを使用して呼び出すことができます。この関数は、最初の引数が配列でない場合は、それを配列に入れるだけです。呼び出し可能オブジェクトを配列として渡そうとした場合、["Foo", "Bar"] (Foo::Bar() が有効なメソッドである場合) は、もちろん groupByMultiple 関数はキー "Foo" でグループ化しようとします。 1 番目と「バー」が 2 番目です。これが groupBy() との主な非互換性です。もちろん、呼び出し可能な配列を含む配列を渡すこともできるので、 [["Foo", "Bar"]] または [["Foo", "Bar"], "Baz"] は問題なく機能します。すでに groupBy を使用している人にとって、この機能への切り替えは非常に簡単です。