我已創建實體A
與OneToMany
關係到B
,其關係爲OneToMany
至C
。具有相關實體的深克隆主義實體
我必須克隆這個A
實體並將其設置在數據庫中,並帶有新的ID。同樣所有深層次的關係也應該用新的ID進行克隆。
我有什麼企圖是設置A
id來null
:
$A = clone $A_original;
$A->setId(null);
$em->persist($A);
它在A
表中創建新的記錄,但在B
和C
不一樣。
我應該怎麼做才能製作A
實體的完整副本?
是,它似乎與這個唯一的問題不工作OneToMany,任何想法爲什麼? – coder4show
@ coder4show,這是因爲您正在克隆ArrayCollection而不是其中的元素。我爲OneToMany關係添加了一個克隆方法。 – flec
在這個例子中,OneToMany關係不會被克隆,因爲克隆的相關實體仍然引用舊的實體。請參閱[這個答案](http://stackoverflow.com/a/28313673/3215645)爲一個工作示例 – Richard