“问题”
在探查器中:
- 选择查询
- 另一个选择查询
- 第三个查询
现在我在控制器中调用 INSERT 所以这个查询被执行
$re=new Requests();
$re->setViewed(false);
$em->persist($add);
$em->flush();
它会导致另一个“3”查询:
可以吗?还是我做错了什么?...
“问题”
在探查器中:
现在我在控制器中调用 INSERT 所以这个查询被执行
$re=new Requests();
$re->setViewed(false);
$em->persist($add);
$em->flush();
它会导致另一个“3”查询:
可以吗?还是我做错了什么?...
每个调用Doctrine\ORM\EntityManager#flush
都包含在一个事务中。
这意味着如果您当前的 RDBM 支持事务,ORM 将自动START TRANSACTION
执行所有必要的查询,然后COMMIT
如果一切正常,或者ROLLBACK
发生错误。
您可以在文档中阅读更多关于 Doctrine 2 ORM 如何处理事务和并发的信息。