关于ThinkPHP5.0 模型类事务性操作

    //创建一个模型类
    $release=new  \app\admin\model\Release();
    $release->startTrans();//开启事务
    $release->rollback();//事务回滚
    $release->commit();//提交事务
<?php
//例子如下:
public function transAction()
{
    $modelA = model('A');
    $modelA->startTrans();             // 开启事务A
    $result = $modelA->save($data1);
    if($result === false){
        $modelA->rollBack();        // 事务A回滚
        $this->error('添加失败');
    }
  
    $modelB = model('B');
    $modelB->startTrans();             // 开启事务B
    $result = $modelB->save($data2);
    if($result === false){
        $modelB->rollBack();        // 事务B回滚
        $modelA->rollBack();        // 事务A回滚
        $this->error('添加失败');
    }
  
    $modelC = model('C');
    $modelC->startTrans();             // 开启事务C
    $result = $modelC->save($data3);
    if($result === false){
        $modelC->rollBack();        // 事务C回滚
        $modelB->rollBack();        // 事务B回滚
        $modelA->rollBack();        // 事务A回滚
        $this->error('添加失败');
    }
  
    // 提交事务
    $modelC->commit();
    $modelB->commit();
    $modelA->commit();
  
    $this->success('添加成功', url('....'));
}


猜你喜欢

转载自blog.csdn.net/denglii903/article/details/80268702