|
本篇文章是对thinkphp 多表、事务进行了详细的分析介绍,需要的朋友参考下
如下所示: 复制代码 代码如下: function makeAcquire($nUsers,$nAwards) { //更新数据库 $tranDb = new Model(); $tranDb->startTrans(); for($i = 0; $i < sizeof($nUsers); $i++) { //更新表Acquire $flagAc = $tranDb->table('Acquire')->add($acquire); //更新表Users $where = array('u_id'=>$nUsers[$i]['u_id']); $flagU = $tranDb->table('Users')->where($where)->setInc('u_man_count',1); //更新表Award $where = array('a_id'=>$nAwards[$i]['a_id']); $flagA = $tranDb->table('Award')->where($where)->setDec('a_count',1); } if($flagAc && $flagU && $flagA) { $tranDb->commit(); } else { $tranDb->rollback(); } }
|
|