【发布时间】:2012-12-14 22:46:52
【问题描述】:
尝试删除实体,而不保留其他更改。请注意(虽然在这种特定情况下它并不是真正需要的)该方法不应影响操作后调用的 flush() 的结果。
$em->remove($entity);
$em->flush($entity);
这会引发'InvalidArgumentException' with message 'Entity has to be managed for single computation。
我可以只使用 DQL 进行删除;只是想知道是否有办法通过实体管理器来做到这一点。
【问题讨论】:
-
看起来像个bug,一个处于removed状态的实体被托管了。
-
@meze 是的,我想可能是这样。还认为刷新单个对象可能是有限制的。
-
@meze,我不认为上面的代码有错误。我看到的唯一不正确的是
flush()没有收到任何参数。 -
@manix 支持将实体传递给
flush()有been around for a while。 -
好吧...我应该更新我的 API xD
标签: php orm doctrine-orm