thinkphp 多表 事务详解

yipeiwu_com6年前PHP代码库
如下所示:
复制代码 代码如下:

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();
     }
    }

相关文章

PHP对象的浅复制与深复制的实例详解

PHP对象的浅复制与深复制的实例详解 最近在看原型模式时注意到这个问题~~PHP中对象 '=' 与‘clone'的区别 实例代码: //聚合类 class ObjA { p...

php实现的日历程序

php实现的日历程序

本文实例讲述了php实现的日历程序。分享给大家供大家参考。具体如下: <?php ////判断$Year和$Month是否为空,如果为空就获取系统当前日期,否则用$_G...

PHP实现重载的常用方法实例详解

本文实例讲述了PHP实现重载的常用方法。分享给大家供大家参考,具体如下: php是弱类型语言,并没有像JAVA这种强类型语言一样有重载。 重载一般来说就是拥有相同的函数名或方法名,但是参...

详解EventDispatcher事件分发组件

详解EventDispatcher事件分发组件

引言 考虑这样一个问题,现在你想给为你的项目提供一个插件系统,插件可以添加一些方法,或者在某些方法执行之前或者之后做些事情,而不干扰其他插件。要实现这个系统,简单的单继承不是个好办法,即...

php根据生日计算年龄的方法

本文实例讲述了php根据生日计算年龄的方法。分享给大家供大家参考。具体如下: <?php function birthday($birthday){ $age =...