4

“问题”

在探查器中:

  • 选择查询
  • 另一个选择查询
  • 第三个查询

现在我在控制器中调用 INSERT 所以这个查询被执行

    $re=new Requests();
    $re->setViewed(false);
    $em->persist($add);
    $em->flush();

它会导致另一个“3”查询: 在此处输入图像描述

可以吗?还是我做错了什么?...

4

1 回答 1

6

每个调用Doctrine\ORM\EntityManager#flush都包含在一个事务中。

这意味着如果您当前的 RDBM 支持事务,ORM 将自动START TRANSACTION执行所有必要的查询,然后COMMIT如果一切正常,或者ROLLBACK发生错误。

您可以在文档中阅读更多关于 Doctrine 2 ORM 如何处理事务和并发的信息

于 2013-03-13T12:28:35.257 回答