Bonjour, Bonsoir à tous,
Dans le cadre du développement d'une API Rest sous Symfony 3 je mes à disposition un formulaire contenant un champ de type CollectionType
dans lequel il peut ajouter, modifier ou supprimer des éléments.
Tout fonctionne à merveille, mais avant le flush je souhaiterai déterminer les modifications ayant eu lieu dans mon ArrayCollection
, quel sont les éléments qui ont été ajouté, supprimé et ceux qui ont été modifié (et quel propriété de cet élément à été modifié).
J'ai réfléchit à la question et je suis parti dans un système à base de boucle vérifiant un à un les éléments et je trouve sa terriblement lourd d'autant que Symfony doit lui-même faire ce travail pour déterminer s'il doit ajouter l'élément, le supprimer car il n'est plus dans la liste ou le modifier car une des propriété à été modifiée.
Du coup je me demandais si Symfony ne proposais pas une fonction permettant de déterminer les différences subie pour l'ArrayCollection
.
Merci d'avance pour votre aide.
Cordialement, La source.
Edit: Je me sens bête… mais je viens d'avoir un éclair de génie (que j'aurai dû avoir avant d'écrire mon sujet ): les évènements doctrine. Il y a des événements qui sont appelé dans les 3 cas qui m'intéresse ! J'ai donc une solution