我正在使用以下命令删除实体:
$this->getEntityManager()->remove($exclusivedeal->getPicture());
$exclusivedeal->setPicture();
$this->getEntityManager()->flush();
$this->getEntityManager()->getConnection()->commit();
图片属性是与图片实体的多对一关系。图片实体有一个函数,该函数通过 postremove 注释调用以从文件系统中物理删除图片。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 时,一切都很好,但这不是解决方案。我正在对与图片实体相关的另一个实体执行相同的操作。
当我设置级联删除注释时,发生了同样的问题。
有谁知道我做错了什么?
非常感谢。