原则2抛出“身份图中没有实体”


Doctrine2 throwing 'No Entity in Identity Map'

我正在从数据库中提取一个基本实体,将其克隆到循环中以创建新实体,更改一些细节,然后保留该实体。

出于某种原因,这在呼叫EntityManager->flush()addToIdentityMap UnitOfWork中抛出No Entity in Identity Map

我还尝试创建一个实体并手动将一个属性设置为另一个,没有区别。

我对教义内部不是特别熟悉,这里出了什么问题?

尝试向实体类添加 __clone 方法以取消标识符,以便 Doctrine 将其识别为新实体:

public function __clone()
{
    if ($this->id) {
        $this->id = null;
    }
}

请注意,该方法以 Doctrine 的文档为模型,用于安全实现__clone