Bonjour à tous,
J'ai un problème qui me bloque totalement depuis maintenant cinq jours. J'ai demandé de l'aide sur l'IRC de Symfony, sur Stackoverflow et même sur un autre forum PHP et personne ne semble pouvoir m'aider. Pourtant, le problème est tellement basique que je m'en arrache les cheveux, c'est un cas d'école et je ne comprends pas cette impression d'être le seul au monde à le rencontrer.
J'ai simplement une entité "Immeuble" lié à "ImmeubleVersion" par un OneToMany. Ensuite une entité "Lot" lié à "LotVersion" par un OneToMany également. Chaque Lot et relié à un Immeuble par un ManyToOne. Pour shématiser, j'ai fait ceci :
Lorsque je modifie un lot dans un formulaire, je modifie TOUJOURS la dernière version ajouté. Dans la requête, je fais un SELECT lot puis INNER JOIN sur lot_version puis INNER JOIN sur immeuble et un INNER JOIN sur immeuble_version, en allant chercher uniquement la dernière version du lot et de l'immeuble (grâce à une requête fait-main avec Doctrine, j'ai besoin de toutes ces informations pour réaliser ma vue twig). Jusque la, pas de soucis. J'ai donc, en retour, une entité Lot avec sa dernière version, l'immeuble et sa dernière version, donc une PersistentCollection
Le soucis, c'est qu'après validation du formulaire, je dois vérifier que la date du lot (qui se trouve dans le formulaire) soit entre toutes les toutes les versions de tous les immeubles connus ... du coup je fais une requête basique "SELECT immeuble INNER JOIN immeuble_version". Mais, forcément, il me retourne le PersistentCollection déjà connu, donc avec un seul résultat et non tous ceux censé être présent dans la nouvelle requête (qui, d'ailleurs, retourne bien tout sur Phpmyadmin)
Merci d'avance
Partager