symfony doctrine连接刷新持续存在

时间:2013-03-13 10:39:19

标签: symfony doctrine-orm entitymanager flush

“问题”

在分析器中:

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

现在我调用插入控制器,因此这个查询已经执行

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

它导致另一个“3”查询: enter image description here

可以吗?或者我做错了什么? ......

1 个答案:

答案 0 :(得分:6)

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

这意味着,如果您当前的RDBM支持transactions,则ORM会自动START TRANSACTION,然后执行所有必要的查询,然后COMMIT如果一切正常,或{{1}如果发生错误。

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