Как Доктрина сохраняет новые связанные объекты - PullRequest
1 голос
/ 15 апреля 2010

Если я создаю новый объект Doctrine с большим количеством отношений, должен ли я сохранять () эти отношения перед назначением их вновь созданному объекту? Э.Г.

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

Я предполагал, что parent будет автоматически вызывать каскадные сохранения, но, похоже, это не относится к вновь созданному объекту parent.

Как это действительно работает?

1 Ответ

2 голосов
/ 15 апреля 2010

Доктрина позаботится обо всем и при необходимости сохранит соответствующие записи. Кстати, вам не нужно создавать экземпляр связанного объекта. Вы можете использовать этот синтаксис:

$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();

Больше информации о документации доктрины .

...