LaravelのクエリビルダでgroupByを使った件数(count)の集計

Laravel クエリビルダ MySQL 情報

件数を出すだけの集計ならこれでいいのだが

$users = DB::table('users')->count();

 
groupbyしたグループIDごとの件数集計結果を取りたい場合は生クエリを書くしかないようだ。(ドキュメントにのってんだもん)

$users = DB::table('users')
    ->select(DB::raw('count(*) as user_count, status'))
    ->groupBy('status')
    ->get();

実行したわけじゃないから確信ないけど、多分statusごとのユーザ数がみれる。

ユーザーテーブル

status status数
未登録 100
登録済み 10
購入済み

とかって感じに出る。

参考
https://readouble.com/laravel/5.5/ja/queries.html

Laravelおにいさん / 2018-05-24 / 330 / 0
このエントリーをはてなブックマークに追加
関連記事

まだコメントがついていません。

ログイン不要でコメントの投稿ができます。