Php 如何检查flush()是否成功?
我正在使用条令检查Php 如何检查flush()是否成功?,php,symfony,doctrine-orm,Php,Symfony,Doctrine Orm,我正在使用条令检查flush()是否成功 在我的ORM时代之前,我经常做if($query->execute()){} 由于flush()返回void,我不相信使用try-catch可以解决以下问题:?会吗 如果没有,有没有办法实现类似的功能?如果您想知道某个实体是否已刷新,可以使用doctrine event listener() 帮助您在引擎盖下的持久化事件后自动执行操作,如果执行查询失败,PDO将抛出异常。教条不会压制这一例外(它会将其包装,但会重新引用)。因此,只要确保没有引发异常,就足
flush()
是否成功
在我的ORM时代之前,我经常做if($query->execute()){}
由于flush()
返回void,我不相信使用try-catch
可以解决以下问题:?会吗
如果没有,有没有办法实现类似的功能?如果您想知道某个实体是否已刷新,可以使用doctrine event listener()
帮助您在引擎盖下的持久化事件后自动执行操作,如果执行查询失败,PDO将抛出异常。教条不会压制这一例外(它会将其包装,但会重新引用)。因此,只要确保没有引发异常,就足以检查是否所有操作都已成功执行。即使使用mysql引擎?是的,这是PDO(请参阅)的一个功能,由Doctrine DBAL在后台为您启用。只要您使用PDO,使用哪个引擎都无关紧要。虽然您今天链接的页面给出了答案,您应该在答案中包含提供答案的代码。有一天,当你的答案还活着的时候,这种联系可能会消失,从而造成一种荒谬的情况。被接受的答案是正确的,但它提出了一个问题:如何处理捕获的异常。类似于一只狗在抓到它追逐的卡车时所面临的窘境。通常,恢复选项非常有限。实体管理器不再可用(尽管您可以生成一个新的)。您被深深地埋藏在代码的某个地方,很难挖掘出来。在大多数情况下,您可以让框架的全局异常处理程序处理这些问题。