编程语言
首页 > 编程语言> > ThinkPHP5.0 模型类事务性操作

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

 

标签:回滚,事务性,模型,事务,modelC,result,modelB,ThinkPHP5.0,rollBack
来源: https://www.cnblogs.com/fksdy/p/11741928.html