Как получить "select count(*) group by" с помощью laravel eloquent
Я хотел бы выполнить следующее предложение, используя laravel eloquent
SELECT *, count(*) FROM reserves group by day
единственное решение, которое приходит мне в голову, - это создать представление в БД, но я уверен, что есть способ сделать это в laravel.
3 ответов
вы можете использовать этот:
$reserves = DB::table('reserves')->selectRaw('*, count(*)')->groupBy('day');
Как вы хотите сделать это с Laravel красноречивым я предполагаю, что у вас есть имя модели 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();
далее здесь