collectionのgroupByメソッドの使い方
よくEloquentで取得したコレクション(Collection)データである項目でグループごとにまとめたい場合があります。そんな時はgroupByというメソッドがめちゃ使えます。
例えば、顧客(Customer)データが以下のようになっていたとします。
id | name | sex(0:男性, 1:女性) |
1 | 田中太郎 | 0 |
2 | 山田花子 | 1 |
3 | 佐藤一郎 | 0 |
4 | 斉藤一 | 0 |
5 | 鈴木貴子 | 1 |
ここで男女別にデータを分けたい場合にgroupByを使用します。
public function getUsers()
{
$customers = Customer::all();
$customersBySex = $customers->groupBy(function ($customer) {
return $customer->sex;
});
dd($customersBySex);
}
結果は以下のようになります。

これで男女別に分けることができました!
上記のように単にカラムで分けるだけなら以下のように簡潔にもかけます。
$customersBySex = $customers->groupBy('sex');
まとめ
今回はコレクションのgroupByをご紹介しました。
色々なメソッドを使いこなせると実装力が高まるので1つでも多くのメソッドを使ってみてください。
2025年エンジニアの必読書
エンジニアなら読んでおきたい必読書を紹介します。
コード×AI―ソフトウェア開発者のための生成AI実践入門
もうプログラムを書く時代は終わりました。これを読めば「AIでここまでできるのか!」やばいな!と実感する一冊です。これを読まずにただ自力でプログラムを書いている人はもう手遅れになるかもしれません。
Amazonで購入するAIエディタCursor完全ガイド ―やりたいことを伝えるだけでできる新世代プログラミング
まだCursor使っていないの?こちらはAI機能が搭載されたエディタです。直近、AIの進化が著しく精度がかなり上がっています。もはや人を超えたと言っても過言ではないでしょう。Cursorを使えばもうプログラミングをすることはほぼなくなります。まだ使っていない方はこちらで使い方を学びましょう。
Amazonで購入する良いコード/悪いコードで学ぶ設計入門
初心者にもおすすめ!全エンジニアの良いコードの書き方のバイブルです。2024年12月25日に発売されたばかりの最新版が登場。AI時代でも良い設計は必須スキル。あなたのコーディングスキルが飛躍的に向上することでしょう。
Amazonで購入する