Salut,

J'ai un petit problème :

Voilà :

Voilà, dans mon formulaire de déclaration, lors de la création d'une nouvelle déclaration, on peut ajouter un ou plusieurs témoins. Lorsque on ajoute un témoin avec les mêmes noms et prénoms qu'un témoin déjà existant en base, je souhaite lier la déclaration au témoin déjà existant en base.

Le problème c'est que symfony me sauvegarde automatiquement les nouveaux témoins (insert dans la table témoin), ce que je voudrais empêcher pour ceux d'entre eux qui sont uniquement à lier.

En fait j'arrive bien a lier un témoin existant, mais pas à empêcher symfony d'insérer un nouveau témoin correspondant à mon form embarqué... Je me retrouve donc en base avec des témoins ayant les même noms et prénoms...

Comment feriez vous ?

Voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
if($this->isNew()) {
			if(isset($forms['new'])){
				$embeddedTemoinsForms = $forms['new']->getEmbeddedForms();
				$i = 0;
				foreach($embeddedTemoinsForms as $temoinForm){
					$nouveauTemoin = $temoinForm->getObject();
					if($nouveauTemoin->nom !=null && $nouveauTemoin->prenom != null && $nouveauTemoin->nom !="" && $nouveauTemoin->prenom != "" ){
						$t = Doctrine::getTable('Temoin')->getTemoinByNomEtPrenom($nouveauTemoin->getNom(),$nouveauTemoin->getPrenom());
						if(isset($t)){
							$declaration->link('Temoins',array($t->getIdtemoin()));
 
						} else {
							$declaration->Temoins[$i] = $nouveauTemoin;
 
						}
                                                $i++;
					} 
				}
			}
		}
Merci pour vos idées !