Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何检查flush()是否成功?_Php_Symfony_Doctrine Orm - Fatal编程技术网

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,使用哪个引擎都无关紧要。虽然您今天链接的页面给出了答案,您应该在答案中包含提供答案的代码。有一天,当你的答案还活着的时候,这种联系可能会消失,从而造成一种荒谬的情况。被接受的答案是正确的,但它提出了一个问题:如何处理捕获的异常。类似于一只狗在抓到它追逐的卡车时所面临的窘境。通常,恢复选项非常有限。实体管理器不再可用(尽管您可以生成一个新的)。您被深深地埋藏在代码的某个地方,很难挖掘出来。在大多数情况下,您可以让框架的全局异常处理程序处理这些问题。