可以在监听器中分离实体

时间:2013-04-21 15:53:14

标签: symfony doctrine-orm symfony-2.2

我有一个表格中有价格属性的实体。在更新中,我想取消此实体的更改。

这是我在preUpdate事件监听器中的代码:

if($entityManager->contains($entity)) {
    $entityManager->detach($entity);
    $uow  = $entityManager->getUnitOfWork();
    $meta = $entityManager->getClassMetadata(get_class($entity));
    $uow->recomputeSingleEntityChangeSet($meta, $entity);
}

但在测试中得到此错误消息:

1)WebFactory \ PriceListBundle \ Tests \ Entity \ PriceListTest :: testCreateProduct Doctrine \ ORM \ ORMInvalidArgumentException:不管理实体WebFactory \ Bundle \ PriceListBundle \ Entity \ PriceList @ 000000005f6fc4da0000000028ff97b1。如果实体从数据库中获取或通过EntityManager#persist

注册为new,则对其进行管理

0 个答案:

没有答案