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:
@@ -59,10 +59,10 @@ class DashboardController extends Controller
|
||||
->orderByRaw("date_trunc('month', created_at)")
|
||||
->get();
|
||||
} 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())
|
||||
->groupByRaw("DATE_FORMAT(created_at, '%Y-%m')")
|
||||
->orderByRaw("DATE_FORMAT(created_at, '%Y-%m')")
|
||||
->groupByRaw("YEAR(created_at), MONTH(created_at)")
|
||||
->orderByRaw("YEAR(created_at), MONTH(created_at)")
|
||||
->get();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user