我正在使用这些命令删除实体:
$this->getEntityManager()->remove($exclusivedeal->getPicture());
$exclusivedeal->setPicture();
$this->getEntityManager()->flush();
$this->getEntityManager()->getConnection()->commit();
图片属性是与图片实体的ManyToOne关系。 图片Entity有一个函数,通过postremove Annotation调用,从文件系统中物理删除图片。 Flush()操作正在执行sql语句。在delete语句之后,也会调用select语句。这会产生以下错误:
[2012-06-07 10:06:46] request.CRITICAL: Doctrine\ORM\EntityNotFoundException: Entity was not found. (uncaught exception) at C:\xampp\htdocs\forum\app\cache\dev\doctrine\orm\Proxies\__CG__DankeForumBundleEntityPicture.php line 32 [] []
当我将注释更改为preRemove时,一切都很好,但这不是解决方案。我在与图片实体有关系的其他实体上进行相同的操作。
当我设置级联删除注释时,会发生同样的问题。
有谁知道我做错了什么?
非常感谢。