我已经创建了一个实体 A
,它与实体B
之间存在 OneToMany
关系,而实体 B
又与实体 C
之间存在 OneToMany
关系。
我必须克隆此 A
实体,并将其设置为具有新 ID 的数据库中。此外,所有深层关系也应使用新 ID 进行克隆。
我尝试过将 A
的 ID 设置为 null
:
$A = clone $A_original;
$A->setId(null);
$em->persist($A);
它在A
表中创建新记录,但不会在B
和C
表中创建。
我应该怎么做才能完整复制A
实体?
ArrayCollection
而不是其中的元素。我已经为OneToMany关系添加了一个克隆方法。 - flec$this->setId(null)
而不是$this->id = null
有特别的原因吗? - Pierre de LESPINAY