我将一个基本实体从数据库中拉出来,在循环中克隆它以创建新实体,更改一些细节然后保持实体。
出于某种原因,在No Entity in Identity Map
调用addToIdentityMap
时,UnitOfWork
会在EntityManager->flush()
内投掷{{1}}。
我也尝试过创建一个实体并手动将所有属性设置为一个,没有区别。
我对学说内部并不是特别熟悉,这里出了什么问题?
答案 0 :(得分:0)
尝试向实体类添加__clone
方法以使标识符无效,以便Doctrine将其识别为新实体:
public function __clone()
{
if ($this->id) {
$this->id = null;
}
}
请注意,该方法的模型为after Doctrine's docs for safely implementing __clone