如何通过"选择"选择计数(*)组?使用laravel雄辩

时间:2016-01-16 14:12:59

标签: laravel laravel-5 eloquent query-builder

我想使用laravel eloquent

执行以下句子
SELECT *, count(*) FROM reserves  group by day

我遇到的唯一解决方案是在数据库中创建一个视图,但我很确定有一种方法可以用laravel方式来实现。

3 个答案:

答案 0 :(得分:18)

你可以用这个:

$reserves = DB::table('reserves')->selectRaw('*, count(*)')->groupBy('day');

答案 1 :(得分:3)

如果您希望使用Laravel Eloquent,我假设您有一个型号名称Reserve。在这种情况下,您可以使用此

$reserve = Reserve::all()->groupBy('day')->count();

答案 2 :(得分:0)

您可以使用:

#Laravel Raw Expressions

  $reserves = DB::table('reserves')
                       ->select(DB::raw('count(*) as reserves_count'))           
                       ->groupBy('day')
                       ->get();

OR

  $reserves = Reserve::select(['reserves.*'])
                       ->groupBy('day')
                       ->count();

进一步阅读transactions