每当History
更新时,我都会尝试保留Message
实体。我在幕后花了太多时间在这里发布所有代码并使其有意义,但我基本上将问题跟踪到UnitOfWork::commit
方法。在那里,UOW首先遍历entityInsertions
,并且什么都没找到,继续到entityUpdates
。在那里,UOW的entityInsertions
会得到更新,但由于它已经过了那个循环,所以它仍然需要保留一些实体。有没有办法迫使UOW重新开始"这个流程?如果是这样,怎么样?我正在使用Doctrine 2.4。
感谢您的帮助!
答案 0 :(得分:1)
这可能是有史以来最脏的解决方案,但我最终做的基本上是以下......
onFlush
活动订阅者UnitOfWork
的{{1}}和scheduledEntityUpdates
(我对删除不感兴趣)scheduledEntityInserts
标记了我感兴趣的每个实体,只是为了知道哪些实体是可记录的)LoggableInterface
对象的记录)。通过实体管理器保留实体(实际历史事件),并执行以下操作:
LoggableInterface
利润
希望这有助于某人!