私はlaravel 5.4を使用しています。私は車の広告をいくつか見せたいとします。私はテーブルからすべての車の記録を取得し、私のページにそれらをロードします。今では、サイドバーにカウントを持つ複数のカテゴリ(車の種類、車の色、自動車の燃料)を表示し、すべてのカテゴリのカウントを表示したいと考えています。複数のフィールドのlaravelでカウントするgroupbyの方法
たとえば、10個の車の広告があり、そのうち2つは赤、3つは緑、5つは白です。私はサイドバーにこのような何かをしたい:
red(2)
green(3)
white(5)
私はSQL groupBy
でそれをやった:
$colors = DB::table('advertisments')->select('color_name', DB::raw('count(color_name) as total_color'))->groupBy('color_name')->get();
$gearboxes = DB::table('advertisments')->select('gearbox', DB::raw('count(gearbox) as total_gearbox'))->groupBy('gearbox')->get();
$param = ['colors' => $colors,'gearboxes' => $gearboxes];
return view('ads' , compact('ads','param'));
はしかし、私は、カテゴリの数十を持っているので、私は1つGROUPBYでそれを行うことはできませんクエリの数が非常に多くなります。 単一のクエリでクエリを実行する方法はありますか?
何が欲しいですか?グループまたはlaravelコードでSQLクエリ? –
それは問題ではない、私はちょうどそれをしたい。しかし、私はそれがSQLとグループでのみ可能だと思う –