0
我使用的是Doctrine ORM 2.5。我想知道在尝试插入\更新\删除实体时是否需要在$entityManager->beginTransaction()
和$entityManager->commit()
以外包装$entityManager->flush()
以外的任何东西。因为在Doctrine's Docs中,其他语句(如$user = new User()
)也包含在交易调用中。Doctrine Transactions Boundary
用例是:我有多个实体管理器,并且应该回滚所有这些实体的更改,以防其中一个遇到错误。 – user2268997
你有什么消息来源陈述? – user2268997
这就是为什么我写'只要你使用相同的实体经理',我不能说任何涉及多个实体经理的行为有效。源代码是官方教义文档(请参阅您自己的链接),告诉'flush'隐式地启动一个事务,并在发生任何事情时执行UnitOfWork中的任何语句(按其特定顺序等)并进行回滚。 – LBA