【发布时间】:2016-04-22 00:59:45
【问题描述】:
我想用 laravel eloquent 执行下面的语句
SELECT *, count(*) FROM reserves group by day
我想到的唯一解决方案是在数据库中创建一个视图,但我很确定有一种方法可以用 laravel 的方式来实现。
【问题讨论】:
标签: laravel laravel-5 eloquent query-builder
我想用 laravel eloquent 执行下面的语句
SELECT *, count(*) FROM reserves group by day
我想到的唯一解决方案是在数据库中创建一个视图,但我很确定有一种方法可以用 laravel 的方式来实现。
【问题讨论】:
标签: laravel laravel-5 eloquent query-builder
你可以用这个:
$reserves = DB::table('reserves')->selectRaw('*, count(*)')->groupBy('day');
【讨论】:
正如你希望用 Laravel Eloquent 做的那样,我假设你有一个模型名称 Reserve。在这种情况下你可以使用这个
$reserve = Reserve::all()->groupBy('day')->count();
【讨论】:
你可以使用:
#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();
进一步阅读here
【讨论】: