Yii框架是支持数据库事务处理的,关于事务,这里就不多说了,想要了解的读者可以参看本站文章:
关于数据库(MySQL)事务
在项目中遇到批量删除的地方一般会使用到事务,下面列举一个用法实例与大家分享。
<?php $array=array( 0=>array('username'=>'phpernote.com_0','password'=>'123456'), 1=>array('username'=>'u_1','password'=>'123456'), 2=>array('username'=>'u_2','password'=>'123456') ); $transaction=Yii::app()->db->dbConnection->beginTransaction(); //此处db代表的是定义在main.php中的数据库连接对象db try{ Yii::app()->db->createCommand()->insert('tbl_user',$array[0]); Yii::app()->db->createCommand()->insert('tbl_user',$array[1]); Yii::app()->db->createCommand()->insert('tbl_user',$array[2]); $transaction->commit(); }catch(Exception $e){ $transaction->rollback(); }
注意:如果你使用的是MySQL数据库,那么表引擎必须是innodb类型的,因为MySQL数据库的MyISAM引擎不支持事务处理,所以如上代码不会达到预想的目的。