ThinkPHP6如何实现事务操作的最佳实践?
- 内容介绍
- 文章标签
- 相关推荐
本文共计775个文字,预计阅读时间需要4分钟。
事务操作对很多新人来说可能有点陌生,直接看了ThinkPHP6官方手册中事务操作的部分,也许还是不太理解。下面简单介绍一下事务操作。
一、使用场景假设我需要给朋友转账,就需要用到事务操作来确保转账的原子性。
二、事务操作介绍
1.开启事务
2.执行操作
3.提交事务
4.回滚事务
事务操作对很多新人来说,可能有点陌生,即使看了ThinkPHP6官方手册中事务操作的部分,也仍然不知所解。下面就给大家介绍下事务操作。一、先说说使用场景。
假设我需要给朋友转账1000元钱,正常的业务逻辑是:
1、银行从我的账户中扣除1000元
2、银行给朋友账户加上1000元。
如果一切顺利,则转账成功!
那么问题来了,如果我不小心把银行账户输错,导致银行查找不到我输入的银行账户,但是这个时候钱已经从我的账户扣除了,如何处理呢?
我们生活中经常说“如果钱打不过去,银行会退回来的”,就是这个意思。
2、事务操作定义。
那么通过上面的例子,我们理解下到底什么是事务操作,事务指的是逻辑上的一组操作,组成这组操作的各个单元要么全都成功,要么全都失败。
就如上面的打钱例子,要么打钱成功,如果不成功,需要把我的钱退回来,也就是返回到初始状态,也叫做“回滚”。
本文共计775个文字,预计阅读时间需要4分钟。
事务操作对很多新人来说可能有点陌生,直接看了ThinkPHP6官方手册中事务操作的部分,也许还是不太理解。下面简单介绍一下事务操作。
一、使用场景假设我需要给朋友转账,就需要用到事务操作来确保转账的原子性。
二、事务操作介绍
1.开启事务
2.执行操作
3.提交事务
4.回滚事务
事务操作对很多新人来说,可能有点陌生,即使看了ThinkPHP6官方手册中事务操作的部分,也仍然不知所解。下面就给大家介绍下事务操作。一、先说说使用场景。
假设我需要给朋友转账1000元钱,正常的业务逻辑是:
1、银行从我的账户中扣除1000元
2、银行给朋友账户加上1000元。
如果一切顺利,则转账成功!
那么问题来了,如果我不小心把银行账户输错,导致银行查找不到我输入的银行账户,但是这个时候钱已经从我的账户扣除了,如何处理呢?
我们生活中经常说“如果钱打不过去,银行会退回来的”,就是这个意思。
2、事务操作定义。
那么通过上面的例子,我们理解下到底什么是事务操作,事务指的是逻辑上的一组操作,组成这组操作的各个单元要么全都成功,要么全都失败。
就如上面的打钱例子,要么打钱成功,如果不成功,需要把我的钱退回来,也就是返回到初始状态,也叫做“回滚”。

