#php #symfony #doctrine-orm #doctrine #symfony-4.2
#php #symfony #doctrine-orm #доктрина #symfony-4.2
Вопрос:
Итак, я создаю объект doctrine, называемый exhibitions. Этот объект имеет отношения к двум другим объектам, оба являются отношениями ManyToMany. Это цитаты и сервисы.
Когда я клонирую exhibitor, он также клонирует все существующие предложения и сервисы с новыми идентификаторами.
Есть ли способ, которым я могу также предотвратить клонирование отношений, я просто хочу клонировать экспонента?
Кто-нибудь знает?
В настоящее время я просто делаю
* $newExhibitor = clone $exhibitor;
$this->entityManager->getEntityManager()->persist($newExhibitor);
$this->entityManager->getEntityManager()->flush();*
Ответ №1:
Зачем вы клонируете exhibitor? Вам нужно 2 идентичных экспонента в вашей базе данных? Вы пытались установить значение null перед сохранением?:
$newExhibitor = clone $exhibitor;
$newExhibitor->setQuotes(null);
$newExhibitor->setServices(null);
$this->entityManager->getEntityManager()->persist($newExhibitor);
$this->entityManager->getEntityManager()->flush();
Комментарии:
1. Ах да, так просто, я этого не делал, а вместо этого использовал метод __clone() {}, который устанавливает свойство в null .. в значительной степени то, что вы предложили.