Laravelで複数の列でグループ化する方法


  1. クエリビルダを使用した方法:
$results = DB::table('table_name')
            ->select('column1', 'column2')
            ->groupBy('column1', 'column2')
            ->get();

上記の例では、table_nameはグループ化するテーブルの名前、column1column2はグループ化するための列の名前です。selectメソッドで取得する列を指定し、groupByメソッドでグループ化する列を指定します。

  1. Eloquentモデルを使用した方法:
$results = YourModel::select('column1', 'column2')
                    ->groupBy('column1', 'column2')
                    ->get();

上記の例では、YourModelはグループ化する対象のモデルクラスを指します。selectメソッドとgroupByメソッドを使用して、グループ化する列を指定します。

  1. リレーションを使った方法:
$results = YourModel::with('relatedModel')
                    ->select('column1', 'column2')
                    ->groupBy('column1', 'column2')
                    ->get();

上記の例では、YourModelはグループ化する対象のモデルクラスを指します。withメソッドを使用して、関連するモデルを事前に取得することができます。

これらの方法を使用することで、Laravelで複数の列でグループ化することができます。適切なモデルやテーブル名、列名を使用してコードを記述してください。