-
3 pièce(s) jointe(s)
Données non persistées
Bonjour,
Je réalise une petite application Web de gestion avec Symfony 4.3.11.
Pour le moment j'ai une relation ManyToMany entre une entité Réparation et Produit
Les formulaires s'affcihent correctement et je n'ai aucune erreur apparante. Toutes les données entre ces deux entités sont bien persistées en base de données sauf les produits liés à une réparations.
Je précise que j'ai fait un dump après validation du formulaire de la réparation et que je recois belle et bien les produits séléctionnés. Ce qui me laisse penser que le problème vient de la persistance.
Pouvez vous m'aider s'il vous plait je suis perdu et d'autres personnes à qui je me suis adressé ne comprennent pas d'où vient le souci.
MerciPièce jointe 545425
Pièce jointe 545429
Pièce jointe 545430
-
Salut,
Tu utilises bien le flush?
Peux tu nous montrer le code qui persist? Respect tu bien le l'ordre de persistence selon tes relations?
-
Flush ok
Bonjour,
En effet j'utilise bien un flush.
Que voulez vous dire par "ordre de persistance" ? Je crois saisir le principe mais je ne suis pas sûr du sens réel qui est derrière.
Merci de votre aide
-
Si par exemple vous avez un produit avec une relation vous devez persister la relation avant le produit et après flush https://symfony.com/doc/current/doctrine.html
Si on pouvait voir le code d'insertion?
-
1 pièce(s) jointe(s)
Flush
D'accord c'est un détail important que je ne connaissais pas.
Voici une capture d'écran de ma fonction edit du controller qui gére la reparation
J'ai essayé de zommer au mieux pour que cela soit lisible
Pièce jointe 545850
Et merci de votre aide
-
Je ne vois nulle part que tu persist reparation, ici tu persist le produit mais quand tu modifie ton instance de reparation avec ta liste de produit puisque tu ne persist pas celle-ci est perdu. Vous devez persister après le foreach pour reparation.
-
1 pièce(s) jointe(s)
Persist fait
Bonjour,
Merci de votre aide.
Je ne sais pour quelle raison mais la réparation était bien persistée mais par acquis de conscience je l'ai quand même ajouter dans le code (voir screenshot)
Pièce jointe 545988
Les produits sont quand même perdu et je ne comprends pas pourquoi.
Je serai vraiment très heureux de pouvoir enfin comprendre le souci et de le résoudre avec de l'aide.