Je voudrais exécuter la phrase suivante en utilisant laravel éloquent
SELECT *, count(*) FROM reserves group by day
La seule solution qui me soit offerte est de créer une vue dans la base de données, mais je suis pratiquement sûr qu'il existe un moyen de le faire de manière laravel.
Vous pouvez utiliser ceci:
$reserves = DB::table('reserves')->selectRaw('*, count(*)')->groupBy('day');
Si vous souhaitez le faire avec Laravel Eloquent, je suppose que vous avez un nom de modèle Reserve
. Dans ce cas, vous pouvez utiliser cette
$reserve = Reserve::all()->groupBy('day')->count();
Vous pouvez utiliser:
#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();
Plus loin lire ici