除了被删除之外,我需要让实体更改状态.对于那些我为flush方法添加了一个监听器.所以,我可以看到被删除的所有实体,但不能阻止它们被删除.可能吗?
在事件处理程序中抛出异常会切断事务并回滚更改.
public function onFlush(OnFlushEventArgs $eventArgs)
{
$em = $eventArgs->getEntityManager();
$uow = $em->getUnitOfWork();
foreach ($uow->getScheduledCollectionDeletions() AS $col) {
throw new Exception('avoid delete');
}
}
Run Code Online (Sandbox Code Playgroud)