“问题”
在分析器中:
现在我调用插入控制器,因此这个查询已经执行
$re=new Requests();
$re->setViewed(false);
$em->persist($add);
$em->flush();
它导致另一个“3”查询:
可以吗?或者我做错了什么? ......
答案 0 :(得分:6)
对Doctrine\ORM\EntityManager#flush
的每次调用都包含在一个事务中。
这意味着,如果您当前的RDBM支持transactions,则ORM会自动START TRANSACTION
,然后执行所有必要的查询,然后COMMIT
如果一切正常,或{{1}如果发生错误。
您可以在documentation中阅读有关Doctrine 2 ORM如何处理事务和并发的更多信息。