collectionのgroupByメソッドの使い方

よくEloquentで取得したコレクション(Collection)データである項目でグループごとにまとめたい場合があります。そんな時はgroupByというメソッドがめちゃ使えます。

例えば、顧客(Customer)データが以下のようになっていたとします。

idnamesex(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実践入門

コード×AI―ソフトウェア開発者のための生成AI実践入門

もうプログラムを書く時代は終わりました。これを読めば「AIでここまでできるのか!」やばいな!と実感する一冊です。これを読まずにただ自力でプログラムを書いている人はもう手遅れになるかもしれません。

Amazonで購入する
エディタ関連
AIエディタCursor完全ガイド

AIエディタCursor完全ガイド ―やりたいことを伝えるだけでできる新世代プログラミング

まだCursor使っていないの?こちらはAI機能が搭載されたエディタです。直近、AIの進化が著しく精度がかなり上がっています。もはや人を超えたと言っても過言ではないでしょう。Cursorを使えばもうプログラミングをすることはほぼなくなります。まだ使っていない方はこちらで使い方を学びましょう。

Amazonで購入する
コード設計関連
良いコード/悪いコードで学ぶ設計入門

良いコード/悪いコードで学ぶ設計入門

初心者にもおすすめ!全エンジニアの良いコードの書き方のバイブルです。2024年12月25日に発売されたばかりの最新版が登場。AI時代でも良い設計は必須スキル。あなたのコーディングスキルが飛躍的に向上することでしょう。

Amazonで購入する