Bonjour à tous,
Je suis actuellement confronté à un problème qui me semble assez bizarre. J'ai une entité Menu ayant une relation OneToMany vers elle même afin de définir une liste de sous menu. Jusque la tout vas bien, tout fonctionne pour le mieux.
Afin d'administrer mon menu j'ai donc un formulaire avec un élément collection qui permet d'ajouter à la volé ses sous-menu.
L'ajout fonctionne parfaitement, mais la suppression me pose soucis, en effet j'ai eu beau suivre le cookbook et sa section Doctrine: Assurer la persistence dans la base de données mais rien n'y fait mes sous-menu ne sont pas supprimé.
En debug je me rend compte qu'après le bind() de mon formulaire, mon ArrayCollection de sous-menu contient les sous-menu en "double", en faite il conserve ceux existant par défaut et y rajoute ceux validé dans le formulaire, ce qui pourrait se décrire de la façon suivante :
On voit donc que les sous-menu pre-existant sont conservé et j'ai beau supprimer les elements de mon formulaire rien ne se répercute dans la base puisque les anciennes valeurs sont toujours ds mon ArrayCollection// sous-menu au début du processus
1 - mon premier sous-menu
2 - mon second sous-menu
// validation du formulaire sans aucune suppression
1 - mon premier sous-menu // ne devrait plus être la
2 - mon second sous-menu // ne devrait plus être la
1 - mon premier sous-menu
2 - mon second sous-menu
// validation du formulaire avec suppression du second sous-menu
1 - mon premier sous-menu
2 - mon second sous-menu
1 - mon premier sous-menu
// validation du formulaire avec suppression des deux sous-menu
1 - mon premier sous-menu
2 - mon second sous-menu
Si quelqu'un à une idée de solution car la je ne comprend vraiment pas
Merci d'avance à tous
Partager