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)")
|
->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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user