How does ZendDb in ZF2 control transactions?(ZF2 中的 ZendDb 如何控制事务?)
问题描述
ZF1 Zend_Db 参考手册有一个整个部分 关于执行交易.
The ZF1 Zend_Db reference manual has an entire section on performing transactions.
ZF2 ZendDb 参考手册缺少关于交易.
如何在 ZF2 中执行事务?示例代码会有所帮助.
How do I perform transactions in ZF2? Example code would be helpful.
推荐答案
缺少的文档很奇怪.
为了找出发生了什么,我不得不深入ZendDbAdapter 的 API 文档.
To find out what happened, I had to dive into the API docs for ZendDbAdapter.
看起来beginTransaction、rollback 和commit 都定义在ZendDbAdapterDriverConnectionInterface.这意味着它们是可在每个单独的适配器连接上调用的方法.不幸的是,连接本身被埋没了.
It looks like beginTransaction, rollback and commit are defined in ZendDbAdapterDriverConnectionInterface. This means that they are methods callable on every single adapter connection. Unfortunately the connection itself is rather buried.
我不清楚——目前无法提供一个例子——是弄清楚你实际上在哪个对象上调用了这些方法.在最坏的情况下,看起来您可能想要调用 $adapter->getDriver()->getConnection()->beginTransaction().
What I'm not clear on -- and can't provide an example for at this time -- is figuring out which object you actually call these methods on. In the worst case, it looks like you might want to call $adapter->getDriver()->getConnection()->beginTransaction().
呃.
我希望有更多知识的其他人以及手边的 ZF2 副本会看到这一点并提供更好的选择.
I'm hoping someone else with more knowledge, and a copy of ZF2 handy, will see this and provide a better option.
不要忘记你可以发出 BEGIN TRANSACTION/ROLLBACK/COMMIT/SET autocommit=... 自己的 SQL 语句.这可能没问题,因为它看起来不像 ZendDb 跟踪事务状态.
Don't forget that you can just issue BEGIN TRANSACTION/ROLLBACK/COMMIT/SET autocommit=... SQL statements yourself. This is probably OK, as it doesn't look like ZendDb keeps track of the transaction state.
这篇关于ZF2 中的 ZendDb 如何控制事务?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:ZF2 中的 ZendDb 如何控制事务?
基础教程推荐
- 如何替换eregi() 2022-01-01
- 如何在 Laravel 5.3 注册中添加动态下拉列表列? 2021-01-01
- PHP 类:全局变量作为类中的属性 2021-01-01
- YouTube API v3 点赞视频,但计数器不增加 2022-01-01
- 在PHP中根据W3C规范Unicode 2022-01-01
- Cron Jobs 调用带有变量的 PHP 脚本 2022-01-01
- PHP PDO MySQL 查询 LIKE ->多个关键词 2021-01-01
- 有什么方法可以用编码 UTF-8 而不是 Unicode 返回 PHP`json_encode`? 2021-01-01
- 学说 dbal querybuilder 作为准备好的语句 2022-01-01
- 如何在 Laravel 中使用 React Router? 2022-01-01
