【发布时间】:2014-10-03 14:48:03
【问题描述】:
我有一个具有 oneToMany 关系的实体。相关实体通过第一个实体的 id + 另一个字段具有身份。我尝试在第一个实体上设置 cascade: ["persist"] 但是当我尝试持久化它时,它告诉我相关实体无法持久化,我首先必须刷新第一个实体。但是,如果我只是删除级联并刷新第一个实体,它会给出一个异常说它不会持久化,因为相关实体没有持久化,我应该将持久设置为级联。
我该如何解决这个问题?想到的唯一解决方案是:
$relatedEntities = $entity1->getRelatedEntities();
$entity1->setRelatedEntities(new ArrayCollection());
$em->persist($entity1);
$em->flush($entity1);
$entity1->setRelatedEntities($relatedEntities);
$em->flush();
还有其他方法吗?
【问题讨论】:
-
听起来像是关系方向的问题 - docs.doctrine-project.org/projects/doctrine-orm/en/latest/…