public function __clone() { $this->id = null;}
您可能需要先分离实体,然后再保留它。我现在没有开发机可以方便地对此进行测试。
更新资料$f = clone $e;$em->detach($f);$em->persist($f);$em->flush();
刚刚尝试使用简单的SQLite演示。您不需要做任何事情。以下对我有用,而无需添加
__clone()方法或执行其他任何异常 *** 作
$new = clone $old;$em->persist($new);$em->flush();
刷新后,该
$new实体具有新的ID,并保存为数据库中的新行。
我仍然会通过该
__clone()方法将ID属性设为空,因为从纯模型视图来看,它是有意义的。更新2
深入研究Doctrine代码,这是因为生成的代理类
__clone()使用这一重要行实现
unset($this->_entityPersister, $this->_identifier);
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)