Yii2 事务
$transaction = $connection->beginTransaction(); try { // ... executing other SQL statements ... $transaction->commit(); } catch (Exception $e) { $transaction->rollBack(); }
嵌套事务
$outerTransaction = $db->beginTransaction(); try { $db->createCommand($sql1)->execute(); $innerTransaction = $db->beginTransaction(); try { ... $innerTransaction->commit(); } catch (Exception $e) { $innerTransaction->rollBack(); } ... $outerTransaction->commit(); } catch (Exception $e) { $outerTransaction->rollBack(); }
- 事务对象初始化时,设 _level 为0,表示如果要启用事务, 这是一个最外层的事务。
- 每当调用 Transaction::begin() 来启用具体事务时, _level 自增1。 表示如再启用事务,将是层级为1的嵌套事务。
- 每当调用 Transaction::commit() 或 Transaction::rollBack() 时, _level 自减1,表示当前层级的事务处理完毕,返回上一层级的事务中。
- 当调用了一次 begin() 且还没有调用匹配的 commit() 或 rollBack() , 就再次调用 begin() 时,会使事务进行更深一层级的嵌套中。
Yii2 事务的更多相关文章
- Yii2 事务操作
官网关于Yii2 事务的说明文档 http://www.yiiframework.com/doc-2.0/guide-db-active-record.html Working with Transa ...
- Yii2事务
今天写到发券,发现没加事务,于是学习了下 事务: 是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行. 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面 ...
- yii2事务运用举例
直接上代码: $db = Yii::$app->db; $transaction = $db->beginTransaction(); //开启事务 try { // 更新member表 ...
- Yii2中事务的使用
官方是这样的 // $connection其实是数据库连接$transaction = $connection->beginTransaction(); try { $connection-&g ...
- Yii2开发技巧 使用类似闭包的方式封装事务
在控制器中执行事务的时候,一般的代码如下: $transaction = Yii::$app->db->beginTransaction(); try { //一些业务代码 $transa ...
- MYSQL事务之Yii2.0商户提现
我是一个半路出家的PHP程序员,到目前为止,不算在培训班学习的时间,已经写代码整整两年了.可能由于工作业务的原因,在这两年中我没有用到过MySQL事务.就在昨天有个关于支付宝转账的业务不得不使用MyS ...
- Yii2数据库操作 事务
Yii2 DAO http://blog.csdn.net/hzqghost/article/details/44116039
- Yii2使用数据库操作汇总(增删查改、事务)
查询 //1.简单查询 $admin=Admin::model()->findAll($condition,$params); $admin=Admin::model()->findAll ...
- yii2中事务不能回滚的解决
$player1 = Player::findOne(1); $player1->nickname = '111'; $player2 = Player::findOne(2); $player ...
随机推荐
- dede使用方法----如何转换时间戳
dede用sql调用一个mysql时间,mysql的时间字段是时间戳展示的,突然不知道咋转换了,有点迷茫,结果找了下,发现其实很简单,直接用dede的就行了,如下: 完整时间:[field:datel ...
- thinkphp框架中“关联操作”的完整定义详解
在复杂的关联操作中,如果要给关联定义增加可选的属性,我们可以采用完整定义的方式. 完整定义的格式是: protected $_link = array( '关联表名1' => arr ...
- 【板子】gcd、exgcd、乘法逆元、快速幂、快速乘、筛素数、快速求逆元、组合数
1.gcd int gcd(int a,int b){ return b?gcd(b,a%b):a; } 2.扩展gcd )extend great common divisor ll exgcd(l ...
- 查找Linux系统中的占用磁盘空间
目录的来查看空间占用情况 du -sh /* 先看看根目录下面 让文件夹下的文件让文件按大小排序 方法一:# ls -lhSl 长格式显示,h human readable模式,大小单位为M,G等易读 ...
- 转:如何用EXCEL表运用FV函数
转:http://zhidao.baidu.com/link?url=lKFCYBW-zMC-pp8GkFXZnmwQf3YL_csYLGo-0v2OAASSZwjw40QRgEO0V8s2Y3zCJ ...
- java高新技术-类加载器
1.类加载器及委托机制的深入分析 > 类加载器的作用:一个java文件中的出现的类,首先要把这个类的字节码加载到内存中,这个类的信息放在硬盘的classPath下的class文件中, 把cla ...
- [bzoj4408][Fjoi2016]神秘数
Description 一个可重复数字集合$S$的神秘数定义为最小的不能被$S$的子集的和表示的正整数. 例如$S={1,1,1,4,13}$, $1=1$, $2=1+1$, $3=1+1+1$, ...
- editGrid自定义列自定义F7
添加自定义列,配置控制自定义F7 自定义F7的地址为连接界面的url /dynamicPage.do?event=initialize&method=doEvent&uipk=com. ...
- 服务器添加ipa MIME 类型,防止ipa下载后变zip后缀
客户反映apk文件下载 后缀会变为zip 打开mime.types文件 application/iphone pxl ipa application/vnd.android.package-a ...
- xml解析模块
XML XML是可扩展标记语言的缩写,是实现不同语言或程序之间进行数据交换的协议,主要可以对key添加属性. 页面做展示(字符类型的一个xml格式数据)\做配置文件(内部xml格式的数据).,每一个节 ...