教义如何检查flush()是否成功?

时间:2018-08-13 11:25:57

标签: php symfony doctrine-orm

使用学说,我正在尝试检查flush()是否成功。

在ORM之前,我曾经做过if ( $query->execute() ) {}

由于flush()返回void,所以我不相信使用try catch是否可以解决suggested here之类的问题?会吗?

如果没有,有没有办法实现类似的目标?

2 个答案:

答案 0 :(得分:5)

在幕后,如果执行查询失败,PDO将引发异常。主义不会使这个异常沉默(它将包裹它,但是重新抛出)。因此,仅确保没有引发异常就足以检查所有操作是否成功执行。

答案 1 :(得分:-1)

如果您想知道是否已刷新实体,则可以使用主义事件监听器(https://symfony.com/doc/3.0/doctrine/event_listeners_subscribers.html

帮助您在发生持久事件后自动执行操作