Я хочу создать объект Game с клонированным объектом Scenario.
Create Game form:
Name: My game
Scenario: MyScenario (Combo box)
Основываясь на ответе на вопрос Глубокое клонирование объекта Doctrine со связанными объектами, у меня есть реализовано __clone
методов.
Я использую метод __clone
в методе prePersist
в классе GameAdmin
.
public function prePersist($game)
{
$user = $this->container->get('security.context')->getToken()->getUser();
$game->setAuthor($user);
$cp = clone $game->getScenario(); //Error after add this
$game->setScenario($cp); //two lines
}
Я не уверен, что это подходящее место для выполнения этой операции, потому что я получаю MappingException
:
The class 'Doctrine\ORM\Persisters\ManyToManyPersister' was not found in the chain
configured namespaces Sonata\MediaBundle\Entity, FOS\UserBundle\Entity,
Sonata\UserBundle\Entity, Application\Sonata\MediaBundle\Entity,
Application\Sonata\UserBundle\Entity, GM\AppBundle\Entity