Fix dashboard MySQL : ONLY_FULL_GROUP_BY sur l'activité mensuelle

DATE_FORMAT(created_at) dans SELECT sans GROUP BY correspondant viole
ONLY_FULL_GROUP_BY (mode par défaut MySQL 5.7+). Correction :
MIN(created_at) comme agrégat + GROUP BY YEAR()/MONTH().

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-05 18:55:05 +02:00
parent bc4dd29ae7
commit 77dd16143c
@@ -59,10 +59,10 @@ class DashboardController extends Controller
->orderByRaw("date_trunc('month', created_at)") ->orderByRaw("date_trunc('month', created_at)")
->get(); ->get();
} else { } else {
$activiteMensuelle = Releve::selectRaw("DATE_FORMAT(created_at, '%b %Y') as mois, count(*) as total") $activiteMensuelle = Releve::selectRaw("DATE_FORMAT(MIN(created_at), '%b %Y') as mois, count(*) as total")
->where('created_at', '>=', now()->subMonths(5)->startOfMonth()) ->where('created_at', '>=', now()->subMonths(5)->startOfMonth())
->groupByRaw("DATE_FORMAT(created_at, '%Y-%m')") ->groupByRaw("YEAR(created_at), MONTH(created_at)")
->orderByRaw("DATE_FORMAT(created_at, '%Y-%m')") ->orderByRaw("YEAR(created_at), MONTH(created_at)")
->get(); ->get();
} }