2010-04-15 3 views
1

Si je crée un nouvel objet Doctrine, avec beaucoup de relations, dois-je sauvegarder() ces relations avant de les affecter à un objet nouvellement créé? E.g.Comment Doctrine enregistre de nouveaux objets connexes

$main = new Main(); 
$child = new Child(); 
$main->child_rel = $child; // do I need to save the child obj explicitly? 
$main->save(); 

Je suppose que parent appellera automatiquement en cascade sauve, mais cela ne semble pas être le cas pour un objet parent nouvellement instancié.

Comment ça marche vraiment?

+0

Comment définissez-vous vos relations? Cela devrait le faire pour vous. – lotsoffreetime

Répondre

2

Doctrine prend soin de tout et enregistre les dossiers connexes si nécessaire. Par ailleurs, vous n'avez pas besoin d'instancier un objet associé. Vous pouvez utiliser cette syntaxe:

$user->Email->address = '[email protected]'; 
$user->save(); 

Dans le cas d'un à plusieurs et plusieurs-à-plusieurs:

$user->Phonenumbers[]->phonenumber = '123 123'; 
$user->Phonenumbers[]->phonenumber = '456 123'; 
$user->Phonenumbers[]->phonenumber = '123 777'; 
$user->save(); 

Plus d'infos sur le doctrine documentation.

+0

+1, et merci, votre réponse m'a aidé :) –

Questions connexes