Laravel Transaction:如何提交一些查询而不是全部回滚?

OutForCode:

异常时事务块中止请求,以便回滚。但是现在每当出现异常时,都需要存储数据-异常详细信息到表中。中止请求时,插入/更新查询也会回滚。

\DB::transaction(function () use ($request) {
    try{
        // operations
    }catch(Exception $e){
        $exception_model = new ExceptionModel();
        $exception_model->user = $request->user_info;
        $exception_model->detail = $e;
        $exception_model->save();

        abort(Response::HTTP_BAD_REQUEST, 'Something went wrong');
    }
});

但是由于它会自动回滚(即laravel事务关闭),因此异常模型也会发生回滚。怎么做?

雷穆尔:

将事务放入try块应该可以工作:

use Exception;

try {
    \DB::transaction(function () use ($request) {
        // operations
    });
} catch (Exception $e) {
    $exception_model = new ExceptionModel();
    $exception_model->user = $request->user_info;
    $exception_model->detail = $e;
    $exception_model->save();

    abort(Response::HTTP_BAD_REQUEST, 'Something went wrong');
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

来自分类Dev

如何在Laravel中合并一些关系

来自分类Dev

SQL查询-获取行在其他表laravel上退出一些值

来自分类Dev

laravel migration:回滚错误

来自分类Dev

Laravel删除列回滚

来自分类Dev

回滚Laravel中的一个特定迁移

来自分类Dev

如何在Laravel中使用Join过滤一些数据库记录

来自分类Dev

如何在事务回滚中添加一些操作

来自分类Dev

在laravel分页中添加一些数据

来自分类Dev

Laravel foreach在表格中。一些<tds>被跳过

来自分类Dev

Laravel选择列表没有一些选项

来自分类Dev

导致错误的Laravel迁移不会回滚

来自分类Dev

Laravel Dusk,DatabaseTransactions不执行回滚

来自分类Dev

Laravel回滚特定的数据库

来自分类Dev

如何只提交一些文件?

来自分类Dev

默认情况下如何使用select2和Laravel选择一些多个选项

来自分类Dev

如何在表单寄存器(laravel generator infyom)中添加一些文本字段?

来自分类Dev

我如何从laravel表中获取一些特定的列名称。(并非所有列名称)

来自分类Dev

Laravel雄辩的查询使用一组条件还是一组其他条件以及一些常见条件?

来自分类Dev

如何提交表单并将一些额外的参数传递给$ .getJSON回调方法?

来自分类Dev

Laravel:迁移文件仅在迁移和回滚之间运行一次吗?

来自分类Dev

如何查询Laravel雄辩

来自分类Dev

如何使Laravel雄辩的“ IN”查询?

来自分类Dev

如果以后的记录无法在Laravel 5中添加,如何回滚新记录?

来自分类Dev

Laravel:Laravel中的MYSQL查询

来自分类Dev

Laravel Excel正在将日期从标题转换为一些数字

来自分类Dev

Laravel Homestead的“ apt-get更新”提供了一些404

来自分类Dev

在laravel 5.4中的重置密码邮件中更改一些文本

来自分类Dev

发送逗号分隔在php和laravel中循环生成的一些数组

来自分类Dev

Laravel中命名路由的一些用例是什么?

TOP 榜单

热门标签

归档