thinkphp 3.2.3 支持事物嵌套修改,没试过可以参考

浏览:763 发布日期:2016/08/18 分类:技术分享 关键字: 事物嵌套
//Driver.class.php 修改 /**
     * 启动事务
     * @access public
     * @return void
     */
    public function startTrans() {
        $this->initConnect(true);
        if ( !$this->_linkID ) return false;
        //数据rollback 支持
        ++$this->transTimes;
        if ($this->transTimes == 1) {
            $this->_linkID->beginTransaction();
        }
        
        return ;
    }

    /**
     * 用于非自动提交状态下面的查询提交
     * @access public
     * @return boolean
     */
    public function commit() 
    {
        if ($this->transTimes == 1) 
        {
            $result = $this->_linkID->commit();
            $this->transTimes = 0;
            if(!$result){
                $this->error();
                return false;
            }
        }
        else
        {
          --$this->transTimes;
        }
        return true;
    }

    /**
     * 事务回滚
     * @access public
     * @return boolean
     */
    public function rollback() {
        if ($this->transTimes == 1) 
        {
            $result = $this->_linkID->rollback();
            $this->transTimes = 0;
            if(!$result){
                $this->error();
                return false;
            }
        }
        else
        {
            --$this->transactions;
        }
        return true;
    }
最佳答案
评论( 相关
后面还有条评论,点击查看>>