[笔记] 数据库事务

DB门面提供两种方式支持数据库事务

一种是调用transaction方法然后传入闭包作为参数,我们将需要进行事务操作的逻辑放到闭包函数内,如果事务闭包中抛出异常,事务将会自动回滚。如果闭包执行成功,事务将会自动提交。使用transaction方法时不需要担心手动回滚或提交:

    DB::transaction(function () {
        DB::table('users')->update(['id' => 1]);
        DB::table('posts')->delete();
    });

另一种是 beginTransaction、 rollBack和 commit三个方法一起使用从而构建一个完整的事务操作:

    DB::beginTransaction(); //事务开始
    if($somethingIsFailed){
        DB::rollback(); //事务失败 操作回滚
        return false;
    }
    DB::commit();  //事务成功 提交操作
是非之外有一座花园,我们会在那里相遇
Martist
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!