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