加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > C语言 > 正文

Laravel事务处理

发布时间:2020-12-15 00:01:30 所属栏目:C语言 来源:网络整理
导读:自动模式 自动模式直接在闭包函数里写业务逻辑,如果执行出去laravel会抛出异常,会自动进行回滚 DB::transaction(function () { DB::table('test')->where('id',6)->update(['age' => 27]); DB::table('users')->delete(4); //如果这里删除一个不存在的用户返

自动模式

自动模式直接在闭包函数里写业务逻辑,如果执行出去laravel会抛出异常,会自动进行回滚

DB::transaction(function () {
    DB::table('test')->where('id',6)->update(['age' => 27]);
    DB::table('users')->delete(4); //如果这里删除一个不存在的用户返回0,也会正常提交,不明白为什么?
});

手动模式

DB::beginTransaction(); //手动开启事务
try {
    $r1 = DB::table('test')->where('id',6)->update(['age' => date('His')]);
    // DB::table('users')->delete(6);
    $r2 = DB::table('users')->where('id',15)->update(['name' => 'ABC']);
    DB::commit();
} catch (Exception $e) {
    echo $e->getMessage();
    DB::rollBack();
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读