2010-07-13 29 views
1

deux modèles Site et Langage partagent une relation plusieurs-à-plusieurs (ils sont bidirectionnels) Comment ajouter une relation entre eux?Doctrine ajoutant une relation many-to-many pour les enregistrements transitoires

Idéalement je veux faire ceci: (ajouter une langue existante à un nouveau site)

$site = new Site(); 
$site->name = "Google" 
$site->url = "www.google.com"; 

---- code pour ajouter la langue ----

$site->save(); 

Ou dois-je seulement ajouter la langue après avoir appelé save() et si oui, comment cela est-il fait?

Merci à l'avance

Répondre

0

trouvé le problème: La clé primaire de la table d'association est pas réglé sur « Auto-Increment »

ce code fonctionne

$site = new Site(); 
$site->name = "Google"; 
$site->url = "www.google.com"; 
// now add languages 
$langIds = array(1, 2,3); 
foreach ($langIds as $id) { 
    $site->SiteLanguage[]->languageId = $id; 
} 

// now call save --- this creates a new site along with associations 
$site->save();