Yii框架事务用法
首先介绍Yii事务的处理方法
$transaction= Yii::app()->db->beginTransaction();//创建事务 $transaction->commit();//提交事务 $transaction->rollback();//回滚事务
其次上代码
class xxxxx extends xxxxx2{ public function aaa(){ // 以下实例将需要事务处理的操作放进try里 $transaction = Yii::app()->db->beginTransaction(); try { $a = XXX::model()->findByPk(X); $a->x = 1; $a->setAttribute("字段名", "值") //如果仅仅写为:$a->save(); 那么就算保存失败,也不会去执行catch里的内容 if(!$a->save()){ throw new CException("这里保存失败了,通知事务回滚"); } $b = YYY::model()->findByPk(Y); $b->y = 2; $b->setAttribute("字段名", "值") if(!$b->save()){ throw new CException("这里保存失败了,通知事务回滚"); } //这里也可以调用其他方法,同样适用于事务,提交之前,对数据库的更改不可见 if(!$this->ccc()){ throw new CException("这里保存失败了,通知事务回滚"); } $transaction->commit(); //提交事务会真正的执行数据库操作 } catch (Exception $e) { //如果操作失败, 数据回滚 $transaction->rollback(); } } public function ccc(){ $c = ZZZ::model()->findByPk(Y); $c->y = 3; $c->setAttribute("字段名", "值") return $c->save(); } }
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇: php 根据某数组key计算和
- 下一篇: Yii1.1框架的安装