これらのコマンドでエンティティを削除しています:
$this->getEntityManager()->remove($exclusivedeal->getPicture());
$exclusivedeal->setPicture();
$this->getEntityManager()->flush();
$this->getEntityManager()->getConnection()->commit();
ピクチャ属性は、ピクチャ エンティティに対する ManyToOne 関係です。画像エンティティには、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 に変更すると、すべて問題ありませんが、これでは解決できません。Pictureエンティティとの関係を持つ他のエンティティで同じ操作を行っています。
カスケード削除アノテーションを設定すると、同じ問題が発生します。
誰かが私が間違っていることを知っていますか?
どうもありがとうございました。