Bonjour à tous,

durant le développement d'un site, j'ai pris le parti de gérer toutes les relations entre les tables dans mon SI.
Pas assez familiarisé avec Doctrine et les relations, j'ai voulu reprendre mon dev FullPhp sous Symfony2. Mon besoin est le suivant :
3 tables : Comptes - Adresses - LienAdrCpte
=> suite à la création d'un enreg compte et d'un enreg adresse, j'ai besoin de créer de 2 à 3 enregs dans la table LienAdrCpte : idCompte, idAdresse, role (variant de 1 à 3), pour cela j'utilise le code suivant

$lAC = new LienAdrCpte();
$lAC->setAdresseId($adr->getId());
$lAC->setCompteId($cpte->getId());
$lAC->setRole(1); // role siége
$this->em->persist($lAC);

$lAC = new LienAdrCpte();
$lAC->setAdresseId($adr->getId());
$lAC->setCompteId($cpte->getId());
$lAC->setRole(2); // role commerce
$this->em->persist($lAC);

pour le cas du role (3), je crée l'enreg de LienAdrCpte comme les précédent avec $lAC->setRole(3); // role facture, ou à partir d'une seconde adresse

quelque soit l'ordre des persist(), que j'intercale ou non un ordre flush() entre, il me crée systématiquement les 3 même enregistrements avec role = 1. Avec Netbeans j'ai fait le debug de cette partie, avant chaque persist(), j'ai bien les bonnes valeurs pour chaque rubrique de LienAdrCpte, avec le role qui varie bien de 1 à 3.

Je ne vois pas ou est mon erreur, mes tables sont simples et sans relations, pourquoi ne puis-je pas les manipuler comme en fullPhp ?? Si quelqu'un peut me donner une piste, je le remercie d'avance

Cordialement, Celtic34fr

PS: faites attention avec le Reverse engineering via doctrine, il traduit smallint Mysql et boolean Doctrine

je viens de faire une modification : avant avec le même EntityManager je cherchais tout à la fois à écrire, lire, puis écrire à nouveau, maintenant j'ai externalisé ma lecture dans le Repository lié à mon entité en créant une fonction spéciale et en ai placé l'appel en début de procédure avant tout persist() => création des liens OK

Question : est-il interdit d'alterner les écritures et lectures avec un seul EntityManager ?