我希望使用Laravel Eloquent执行以下语句。
SELECT *, count(*) FROM reserves group by day
我唯一想到的解决办法是在数据库中创建一个视图,但我很确定有一种 Laravel 的方式可以实现。
SELECT *, count(*) FROM reserves group by day
我唯一想到的解决办法是在数据库中创建一个视图,但我很确定有一种 Laravel 的方式可以实现。
你可以使用这个:
$reserves = DB::table('reserves')->selectRaw('*, count(*)')->groupBy('day');
我假设您已经拥有一个名为Reserve
的模型,因为您希望使用Laravel Eloquent进行操作。在这种情况下,您可以使用以下代码:
$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();
更多信息可以在此处阅读。