您现在的位置是:首页> 网站开发> ThinkPHP

ThinkPHP5启动事务处理.

  • 5299人已阅读
  • 时间:2018-06-08 11:46:43
  • 分类:ThinkPHP
  • 作者:祥哥

ThinkPHP提供给我们两种事务处理方法,一种是自动的,一种是手动的.

注意:事务处理是需要使用InnoDB引擎.

Db::transaction(function(){
    Db::table('think_user')->find(1);
    Db::table('think_user')->delete(1);
});

上面是自动的事务处理方法,很多同鞋看了不太明白怎么判断是否成功,是否失败.所以下面特意写了案例供同鞋们参考.

//启动事务
$res = Db::transaction(function(){
    $res=null;
    $res = Db::table('think_user')->find(1);
    $res = Db::table('think_user')->delete(1);
    return $res;
});
//下面就可以通过$res判断是否成功了.
if($res){
    $this->success('成功了');
}else{
    $this->error('失败了');
}

是不是很简单.

官方还提供了我们手动的案例,大家可以研究一下

// 启动事务
Db::startTrans();
try{
    Db::table('think_user')->find(1);
    Db::table('think_user')->delete(1);
    // 提交事务
    Db::commit();    
} catch (\Exception $e) {
    // 回滚事务
    Db::rollback();
}


Top