我正在尝试检测事件中多对多关系的变化onFlush
。
如果将新实体添加到关系或更新关系(始终保留一个元素),我可以使用 检测更改$unitOfWork->getScheduledCollectionUpdates()
,然后检查getInsertDiff()
or getDeleteDiff()
。到现在为止还挺好。
当我从关系中取出所有实体时,问题就出现了:“以前有两个相关实体,但现在没有相关实体。”
当关系为空时,我可以访问$unitOfWork->getScheduledCollectionDeletions()
,但无法知道哪些实体被删除:
getDeleteDiff()
因为这个系列并没有说明什么。getSnapshot()
没有告诉我之前有哪些实体
我应该如何知道从多对多关系中取出了哪些实体?
我添加了一个完整实现的要点:一切正常(可能需要一些优化),除了$uow->getScheduledCollectionDeletions()
(第 101 行)