注意:数据只要涉及多表一致性操作,必须要开启数据库事务操作

ThinkPHP5 中模型层中使用事务:

try{

$this->startTrans();

$this->data($order_data)->isUpdate(false)->save();

$new_order = $this->order_no;

if (!is_numeric($new_order)) throw new \Exception("商品订单添加失败");

$this->hasMany('OrdersAccess', 'order_no', 'order_no')->saveAll($data_order);

$this->commit();

return ['code' => '1001', 'msg' => '商品订单添加成功', 'data' => ['order_no' => $new_order, 'cart_list' => $data_order]];

}catch (\Exception $e){

$this->rollback();

return ['code'=>'1008','msg'=>'商品订单添加失败','data'];

}

原文:https://www.kancloud.cn/mikkle/thinkphp5_study/557903

TP5数据库事务操作

使用事务处理的话,需要数据库引擎支持事务处理.比如 MySQL 的 MyISAM 不支持事务处理,需要使用 InnoDB 引擎. 使用 transaction 方法操作数据库事务,当发生异常会自动回滚 ...

tp5.1的事务操作

普通的事务操作很简单,最简单的方式是使用 transaction 方法操作数据库事务, 当闭包中的代码发生异常会自动回滚, 例如: Db::transaction(function () { Db:: ...

ThinkPHP5.0框架开发--第7章 TP5.0数据库操作

ThinkPHP5.0框架开发--第7章 TP5.0数据库操作 第7章 TP5.0数据库操作 ===================================================== ...

ThinkPHP5 模型 - 事务支持

使用事务之前,先确保数据库的存储引擎支持事务操作. MyISAM:不支持事务,主要用于读数据提高性能 InnoDB:支持事务.行级锁和并发 Berkeley DB:支持事务 ThinkPHP5 使用事 ...

tp5模型事件回调函数中不能使用$this

tp5模型事件回调函数中不能使用$this,使用会报错,涉及到数据库操作使用Db类,不能使用$this->save()之类的方式 如果回调函数中需要使用类内函数,需要将函数定义为static,通 ...

04_ThreadLocal整合事务操作

文章导读: 本文主要讲解了如何在没有框架情况下如何解决Dao的事务问题, 重点理解Connection存放到WeakReference中为什么垃圾回收的时候Connection不回收 视频与源码下载: ...

学习ThinkPHP的第20天--MySQL事务操作、查询事件、一对一关联

之所以从20天才开始写随笔记是因为之前没搞自己的博客 从20天开始记录我在ThinkPHP中的点点滴滴 1.MySQL事务操作 /**事务操作*/ //startTrans启动事务.rollback回 ...

Yii2 事务操作

官网关于Yii2 事务的说明文档 http://www.yiiframework.com/doc-2.0/guide-db-active-record.html Working with Transa ...

[PHP] - PDO事务操作

PHP使用PDO事务操作数据库. 参考文章: http://php.ncong.com/mysql/pdo/pdo_shiwu.html 上代码: < ...

随机推荐

Mysql查看版本,端口命令

有一段时间没有鼓捣TP了,今天又再复习一下.在Model获取数据的时候提示'MySQL server has gone away'错误,一开始以为是TP问题,还查了半天,后来才发现是配置mysql的时 ...

深度学习中的Data Augmentation方法(转)基于keras

在深度学习中,当数据量不够大时候,常常采用下面4中方法: 1. 人工增加训练集的大小. 通过平移, 翻转, 加噪声等方法从已有数据中创造出一批"新"的数据.也就是Data Augm ...

eclipse 常用设置,常用快捷键修改

eclipse 常用设置,常用快捷键,myeclipse和eclipse类似' 首先打开eclipse的首选项-->搜索 keys' 常用的一些快捷键: Ctrl+1 快速修复(最经典的快捷键, ...

Js 冒泡事件阻止

Js 冒泡事件阻止   1. 事件目标 现在,事件处理程序中的变量event保存着事件对象.而event.target属性保存着发生事件的目标元素.这个属性是DOM API中规定的,但是没有被所有浏览 ...

linux增加根分区大小

以下操作以root身份运行 1.增加一个新分区(从原有硬盘分,或增加一个新硬盘并进行分区fdisk)  格式化成ext4(mkfs.ext4 /dev/sdb1,假设为/dev/sdb1) 2.将新的 ...

欧拉工程第54题:Poker hands

package projecteuler51to60; import java.awt.peer.SystemTrayPeer; import java.io.BufferedReader; impo ...

【redis】02string类型和hash类型

Redis的数据类型   Redis主要分为五个数据类型,一个是string,最简单的一个数据类型,hash,list, 还有set集合,还有zset有序集合,这是咱们redis的五种基础类型, 接下 ...

Android&lowbar;Dialog

layout.xml

c&plus;&plus;&colon;参数型别的推导

STL源码剖析--侯捷 总结 尽管现在的很多语言支持参数类型的判别,但是c/c++并不支持这一特性. 但是我们可以通过一些技巧使得c++具有自动判别参数类型的特性. 模板 我们都知道在模板类和模板函数 ...

css笔记:如何让一个div居于页面正中间

如何让一个div居于页面中间,我今天说的是让一个div水平居中同时垂直居中,而不是简单的top:50%,left:50%.当然,我们就按一开始的思路写一下:top,left属性都设为50%,看一下效果 ...

php中tp5事务,TP5 模型事务操作相关推荐

  1. ThinkPHP6项目基操(19.实战部分 Mysql模型事务操作)

    模型事务操作 前言 1. Mysql数据库注意 2. thinkPHP模型使用事务 前言 事务操作在复杂的数据库操作的时候尤为重要,特别是在操作多张表的时候,如果某一步骤出错了,就会导致有脏数据,会很 ...

  2. ThinkPHP5.0教程学习06:TP5 数据库与模型操作

    学习教程来源于: php中文网 ThinkPHP5 视频教程 ThinkPHP5.0完全开发手册 连接器与查询构造器 TP5采用的是惰性连接,故而仅在查询时才会连接到数据库 TP5的数据库操作对底层进 ...

  3. 数据库事务系列-事务模型基础

    从这篇文章开始,笔者将会在接下来很长时间里整理记录一个相对独立的知识领域-数据库事务,之所以忽然有这个想法,说来也是一种机缘巧合.本来是单纯计划写写HBase行级事务模型的具体实现的,但是在周末一不小 ...

  4. session 中对象实例在不同事务中的状态

    不同事务中执行hibernate query,则查询出来的对象会在不同session中,或一个在托管态,一个在session中管理,所以是不同实例. 如果在同一事务中的话,则多次query出来的对象实 ...

  5. Java中的事务——JDBC事务和JTA事务

    转载自 Java中的事务--JDBC事务和JTA事务 我的博客中曾经关于事务有过很多讨论,之前的事务介绍基本都是数据库层面的事务,本文来介绍一下J2EE中和事务相关的内容,在阅读本文之前,希望读者对分 ...

  6. rabbit和mysql事务_分布式事务原理及SpringBoot整合RabbitMQ实现可靠事件,TCC事务模型及接口幂等性...

    分布式事务 我们知道在单数据库系统中,实现数据的一致性,通过数据库的事务来处理比较简单.在微服务或分布式系统中,各个独立的服务都会有自己的数据库,而不是在同一个数据库中,所以当一组事务(如商品交易中, ...

  7. sql server分布式事务解决方案[新事务不能登记到指定的事务处理器中错误]

    < DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd> 适用环境 操作系统:wi ...

  8. java悲观者不加事务_在spring中,使用事务和不用事务的区别

    各位高手大家好,我最近在学习Spring,自己也作了几个例子.但我在开发的过程中发现我使用事务和不使用事务效果都一样,我想问一下两者的区别,谢谢大家:第一种,不使用事务,Spring... 各位高手大 ...

  9. Apache ZooKeeper - 集群中 Leader 的作用_事务的请求处理与调度分析

    文章目录 事务性请求处理 Leader 事务处理分析 预处理阶段 事务处理阶段 事务执行阶段 响应阶段 源码分析 小结 Leader 服务器在 ZooKeeper 中的作主要是处理事务性的会话请求以及 ...

最新文章

  1. 深度学习中图片数据增强方法
  2. 关于android的4.2的0文件夹的详解
  3. struts.xml配置文件(二)
  4. hdu 1106 排序
  5. java nio 应用场景_BIO、NIO、AIO简述及应用场景
  6. C++是不是类型安全的?
  7. 使用Java操作汉字编码的一个例子
  8. 为什么选用NACOS
  9. python threading 结束线程
  10. C语言非常大的数组,关于最大子数组问题
  11. 说明多级指针与动态变量,静态变量关系的几个简单程序
  12. 已有Unity工程升级到LWRP/HDRP后材质都变洋红色了,怎么办?
  13. 通过HTTP的HEADER完成各种骚操作
  14. Mybatis自动去重
  15. et中计算机的快捷键,新手求助ET软件快捷键(求实用型的)
  16. Openwrt无线中继AP设置教程
  17. JavaScript数组对象深拷贝
  18. 【土旦】vue 解决ios H5底部输入框 获取焦点时弹出虚拟键盘挡住输入框 以及监听键盘收起事件...
  19. 英文字母的大小写互换,将所有都变成小写,所有都变成大写 位运算实现
  20. 适合小学生python的书_小学生开始学Python,最接近AI的编程语言:安利一波Python书单...

热门文章

  1. 基于python网络编程实现支持购物、转账、存取钱、定时计算利息的信用卡系统...
  2. sql 增删改 合表操作
  3. EasyPlayer.js视频流媒体播放器互联网无插件微信H5直播方案—如何实现倍速播放?
  4. 反复重启进入fastboot模式
  5. SQL server 2012 安装SQL2012出现报错: 启用 Windows 功能 NetFx3 时出错
  6. 存储控制器wwn号_浪潮存储系统AS5600用户手册V1.1.pdf
  7. JavaScript中every、filter、forEach、map、some的区别
  8. 基于微信小程序的民宿短租系统小程序
  9. OpenOCD 实用方法
  10. RN REACT com.android.builder.testing.api.DeviceException: com.android.ddmlib.InstallException: INSTA