ThinkPHP 3.2.2实现事务操作的方法

发布时间 - 2026-01-11 00:58:41    点击率:

本文实例讲述了ThinkPHP 3.2.2实现事务操作的方法。分享给大家供大家参考,具体如下:

手册里说得非常清楚 :

5.3.19 事务支持

ThinkPHP提供了单数据库的事务支持,如果要在应用逻辑中使用事务,可以参考下面的方法:

启动事务:

$User->startTrans()

提交事务:

$User->commit()

事务回滚:

$User->rollback()

事务是针对数据库本身的,所以可以跨模型操作的 。

例如:

// 在User模型中启动事务
$User->startTrans()
// 进行相关的业务逻辑操作
$Info = M("Info"); // 实例化Info对象
$Info->save($User); // 保存用户信息
if (操作成功){
  // 提交事务
  $User->commit()
}else{
  // 事务回滚
  $User->rollback()
}

IndexController.class.php:

<?php
namespace SMS\Controller;
use Think\Controller;
class IndexController extends Controller {
  public function index(){
    $data['operator'] = 'Testss';
    M()->startTrans();
    $result = M('feehistory')->add($data);
    $result1 = $result2 = true;
    if(!empty($result)){
      $regdelData['level'] = '111';
      $result1 = M('regdel')->add($regdelData);
      $regData['level'] = '101';
      $result2 = M('reg')->where("registryCode='13693536752-SJB-HUAX-12345678'")->save($regData);
    }
    if(!empty($result) && !empty($result1) && !empty($result2) ){
      M()->commit();
      //$this->success('事物提交',__ROOT__);
      echo '事物提交';
    }else{
      M()->rollback();
      //$this->error('事物回滚',__ROOT__);
      echo '事物回滚';
    }
  }
}

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。


# ThinkPHP  # 3.2.2  # 事务操作  # Thinkphp事务操作实例(推荐)  # thinkPHP5.0框架事务处理操作简单示例  # thinkPHP框架中执行事务的方法示例  # ThinkPHP实现事务回滚示例代码  # thinkphp 多表 事务详解  # php中在PDO中使用事务(Transaction)  # php+mysql事务rollback&commit示例  # 解析php mysql 事务处理回滚操作(附实例)  # PHP中实现MySQL嵌套事务的两种解决方案  # php事务回滚简单实现方法示例  # thinkPHP事务操作简单案例分析  # 进阶  # 相关内容  # 要在  # 感兴趣  # 给大家  # 说得  # 更多关于  # 所述  # 程序设计  # 操作技巧  # 讲述了  # startTrans  # gt  # rollback  # commit  # brush  # class  # User  # php  # lt 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 香港服务器网站生成指南:免费资源整合与高速稳定配置方案  如何用花生壳三步快速搭建专属网站?  java中使用zxing批量生成二维码立牌  大连 网站制作,大连天途有线官网?  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】  Android实现代码画虚线边框背景效果  如何确保FTP站点访问权限与数据传输安全?  软银砸40亿美元收购DigitalBridge 强化AI资料中心布局  如何在Windows 2008云服务器安全搭建网站?  node.js报错:Cannot find module &#39;ejs&#39;的解决办法  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  ,南京靠谱的征婚网站?  Laravel如何生成API文档?(Swagger/OpenAPI教程)  Android okhttputils现在进度显示实例代码  绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信  佛山企业网站制作公司有哪些,沟通100网上服务官网?  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理  Laravel如何从数据库删除数据_Laravel destroy和delete方法区别  Laravel Fortify是什么,和Jetstream有什么关系  Mybatis 中的insertOrUpdate操作  iOS发送验证码倒计时应用  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  如何快速搭建支持数据库操作的智能建站平台?  如何基于云服务器快速搭建个人网站?  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  如何在云主机快速搭建网站站点?  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  html5audio标签播放结束怎么触发事件_onended回调方法【教程】  七夕网站制作视频,七夕大促活动怎么报名?  如何解决hover在ie6中的兼容性问题  Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  bootstrap日历插件datetimepicker使用方法  js实现点击每个li节点,都弹出其文本值及修改  Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程  简单实现jsp分页  微信小程序 五星评分(包括半颗星评分)实例代码  千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】  详解CentOS6.5 安装 MySQL5.1.71的方法  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  中山网站制作网页,中山新生登记系统登记流程?  高防服务器如何保障网站安全无虞?  Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  Laravel如何保护应用免受CSRF攻击?(原理和示例)  Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】  香港服务器建站指南:免备案优势与SEO优化技巧全解析