如果我创建一个具有大量关系的新Doctrine对象,我应该在将它们分配给新创建的对象之前保存()这些关系吗? E.g。
$main = new Main();
$child = new Child();
$main->child_rel = $child; // do I need to save the child obj explicitly?
$main->save();
我假设父级会自动调用级联保存,但对于新实例化的父对象,情况似乎并非如此。
它是如何运作的?
答案 0 :(得分:2)
如果需要,Doctrine会处理所有事情并保存相关记录。 顺便说一句,您不需要实例化相关对象。您可以使用以下语法:
$user->Email->address = 'me@server.com';
$user->save();
在一对多和多对多关系的情况下:
$user->Phonenumbers[]->phonenumber = '123 123';
$user->Phonenumbers[]->phonenumber = '456 123';
$user->Phonenumbers[]->phonenumber = '123 777';
$user->save();
doctrine documentation上的更多信息。