0
我有一个具有oneToMany关系的实体。相关实体通过第一个实体的id +另一个字段具有身份。我试图在第一个实体上设置cascade:[“persist”],但是当我试图坚持它时,它告诉我相关的实体不能被持久化,我首先需要刷新第一个实体。但是,如果我只是删除级联并刷新第一个实体,它会发出异常,说它不会持久,因为相关的实体没有持久化,我应该设置为级联。主义坚持以前实体为关键实体的实体
如何解决这个问题?唯一想到的解决方案是:
$relatedEntities = $entity1->getRelatedEntities();
$entity1->setRelatedEntities(new ArrayCollection());
$em->persist($entity1);
$em->flush($entity1);
$entity1->setRelatedEntities($relatedEntities);
$em->flush();
是否有其他方法可以做到这一点?
听起来像关系的方向问题 - http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference /unitofwork-associations.html – prodigitalson 2014-10-03 14:56:50