laravel DB事物

public function store(Request $request, $id)
{
    $externalAccount = ExternalAccounts::find($id);
    DB::beginTransaction();
    try {
        $externalAccount->fund_number = 999;
        $externalAccount->capital_balance = ‘kjhkjhkj‘;
        $externalAccount->save();
        DB::commit();
    } catch (Exception $e){
       DB::rollback();
       throw $e;
    }
}
时间: 2024-11-14 04:59:46

laravel DB事物的相关文章

laravel DB 执行 mysql函数或者字段

使用laravel框架中的DB查询mysql数据库的时候,综合遇到执行mysql函数或者,自定义字段,一般情况下DB会把传入的函数当做字段处理 方法如下: DB:raw('函数或者字段'); 例子:DB::raw('rand()').DB::raw('date()')

清晰架构(Clean Architecture)的Go微服务: 事物管理

为了支持业务层中的事务,我试图在Go中查找类似Spring的声明式事务管理,但是没找到,所以我决定自己写一个. 事务很容易在Go中实现,但很难做到正确地实现. 需求: 将业务逻辑与事务代码分开. 在编写业务用例时,开发者应该只需考虑业务逻辑,不需要同时考虑怎样给业务逻辑加事务管理.如果以后需要添加事务支持,你可以在现有业务逻辑的基础上进行简单封装,而无需更改任何其他代码.事务实现细节应该对业务逻辑透明. 事务逻辑应该作用于用例层(业务逻辑) 不在持久层上. 数据服务(数据持久性)层应对事务逻辑透

HTML5本地存储IndexedDB基础使用

做项目时需要用H5本地存储,感觉还不错 下面是一些基础知识和一个完整的实例 HTML5 的一个重要特性是本地数据持久性,它使用户能够在线和离线访问 Web 应用程序.此外,本地数据持久性使移动应用程序更灵敏,使用的带宽更少,而且能够在低带宽场景中更高效地工作.HTML5 提供了一些本地数据持久性选项.第一个选项是 localstorage,它支持您使用一个简单的键值对来存储数据.IndexedDB(一个更加强大的选项)支持您本地存储大量对象,并使用健壮的数据访问机制检索数据. IndexedDB

高性能的 PHP API 接口开发 视频教程

第1章 课程介绍及基础知识讲解 1-1 课程介绍 1-2 API基础知识讲解 1-3 RestfulAPI,Yaf框架,Postman讲解第2章 API接口的基本实现 2-1 准备工作-快速搭建基于Yaf框架的项目环境 2-2 用户类API-实现用户注册API.登录API 2-3 用户类API-SESSION与相关思考 2-4 文章类API-实现文章新增API.修改API 2-5 文章类API-实现文章删除API.文章状态修改API.单一文章获取详细信息API 2-6 文章类API-实现文章列表

laravel transaction : laravel 的事务是不支持eloquent的, 要用DB::的方式

数据库事务处理# 你可以使用 transaction 方法,去执行一组数据库事务处理的操作: DB::transaction(function() { DB::table('users')->update(['votes' => 1]); DB::table('posts')->delete(); }); 注意: 在 transaction 闭包若抛出任何异常会导致事务自动回滚. 有时候你可能需要自己开始一个事务: DB::beginTransaction(); 你可以通过 rollba

thinkphp 和 laravel使用sql语句操作db和源码浅析

前言 对于一个PHP应用,可能最多的就是操作数据,以致于初学者有时只把php当做数据库增删查改的工具(这也无可厚非).而基于框架的语言,在框架中自然不能少了对数据库操作的封装,总想打开源码,看看到底是怎么工作的,趁着有时间~~ thinkphp[tp框架] 首先是这个中国人用的最多的框架说起.ps:我是基于thinkphp3.2来说,tp5.x党见谅~ thinkphp支持对原生的sql语句执行,如: $db=M(); $condition="XXX"; $sql="sele

laravel 的DB::raw() 语法使用

z之前在项目中遇到一个问题,复杂的sql查询,用laravel的查询构造器,非常的不方便,各种查询条件拼接一长串拼得脑瓜疼:然后想使用原生的sql语句来查询,然后又使用不了laravel的paginate()分页方法:这时候DB::raw()方法就派上用场了! 如图: 结果: 这个语法的原理就是把你查询的结果集当成一个临时表,然后在使用laravel的查询构造器语法进行分页处理: 希望对您有帮助: 原文地址:https://www.cnblogs.com/koxi/p/9685672.html

Laravel 命令行工具之多线程同步大批量数据 DB连接混乱 解决方案

记一次大批量数据的多进程同步 背景:因为公司的用户标识不完整,所以需要从集团同步一次用户标记数据,用户数据来源是微信,数量级为一百五十万,集团用户数量级为六百万 方案确定下来是集团开了一个查询接口,访问没有频率并发限制,数量级在那呢,我们遍历公司的用户,去查询这些用户的标识来更新 项目使用了laravel,就写了一个命令行脚本,开15个进程去跑 由于时间关系使用了PHP的pcntl_fork实现多进程 核心代码如下: 主要流程是: 首先主进程分配userid给各个子进程,这里使用了redis队列

Laravel技巧集锦(16):使用DB::listen查找慢SQL

1.AppServiceProvider.php中 \DB::listen(function ($query){ $sql = $query->sql; $bindings = $query->bindings; $time = $query->time; if($time>10){ //when time > 10 print \Log::debug(var_export(compact(['sql','bindings','time']),true)); } }); 2.