Использование Doctrine 2 с Zend Framework 2. Я думал о том, как я намерен сохранить объект с полем, имеющим ассоциацию Many-To-One с другим объектом, который уже существует в базе данных. Должен ли я сначала получить обратную сторону из базы данных, а затем добавить ее к собственному объекту, прежде чем перейти к базе данных, как в приведенном ниже коде.Добавление сущности с многосвязной ассоциацией и обратной стороной, уже существующей в базе данных
//$data = $_POST;
$book = new Book();
$author = $em->getRepository('Application\Entity\Book')->find($data['author_id']);
$book->setTitle($data['title'])
->setISBN($data['title'])
->setAbstract($data['abstract'])
->setYear($data['year'])
->setAuthor($author);
$em->persist($book);
$em->flush();
Как правило, без использования доктрины, все, что нужно сделать, это обновить author_id
поле Book
объекта выше, и сохраняются в базе данных. Но теперь мне нужно совершить поездку в базу данных, чтобы получить данные автора для создания сущности и, следовательно, ассоциации, а затем сохранить ее.
Это так, как это должно быть сделано, или существует другой способ, который не включает в себя получение данных автора.
Благодаря кучу. Вы спасли жизнь. – burntblark
И моя жизнь тоже! – tom10271