Optimize N+1 queries: batch billets, soldCounts, paid orders with items

- AccountController: single query for all billets by categories, single
  GROUP BY query for sold counts, eager-load items on paid orders
- HomeController: single query for all buyable billets of active categories

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Serreau Jovann
2026-03-22 20:13:31 +01:00
parent 0772e618da
commit 0e79c65966
3 changed files with 40 additions and 16 deletions

View File

@@ -47,7 +47,7 @@
- [x] Rate limiting sur les routes sensibles (login 5/15min, commande 10/5min, invitation 5/15min, contact 3/10min)
- [x] CSRF token sur tous les formulaires POST (auto-inject + auto-verify)
- [x] Cache Meilisearch : invalider quand un événement est modifié (déjà fait via EventIndexService::indexEvent)
- [ ] Optimiser les requêtes N+1 (stats tab, billets par catégorie)
- [x] Optimiser les requêtes N+1 (stats tab, billets par catégorie)
### Tests
- [ ] Atteindre 90%+ de couverture PHP