Retour à la leçon
Mission

Mission : eteindre un incendie de performance N+1

Diagnostiquer et corriger un probleme N+1 sur une page d'administration, puis manipuler correctement une relation many-to-many.

Contexte

La page d'administration des commandes est devenue tres lente en production, alors qu'elle etait rapide en developpement local. Le controleur fait Commande::all() puis, dans la vue Blade, accede a $commande->client->nom et $commande->produits pour chacune des 50 commandes affichees. Par ailleurs, un bouton "retirer tous les tags sauf ceux selectionnes" utilise actuellement $produit->tags()->attach($idsSelectionnes), ce qui accumule des doublons a chaque clic au lieu de remplacer la selection.