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


相关推荐: 如何在云服务器上快速搭建个人网站?  Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】  如何用已有域名快速搭建网站?  Laravel如何使用Livewire构建动态组件?(入门代码)  Laravel如何实现用户注册和登录?(Auth脚手架指南)  深圳网站制作培训,深圳哪些招聘网站比较好?  如何在阿里云香港服务器快速搭建网站?  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】  如何为不同团队 ID 动态生成多个非值班状态按钮  英语简历制作免费网站推荐,如何将简历翻译成英文?  深圳网站制作的公司有哪些,dido官方网站?  Android GridView 滑动条设置一直显示状态(推荐)  Laravel如何处理CORS跨域请求?(配置示例)  Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)  微信小程序 HTTPS报错整理常见问题及解决方案  Bootstrap CSS布局之列表  如何为不同团队 ID 动态生成多个“认领值班”按钮  Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  Python函数文档自动校验_规范解析【教程】  如何使用 jQuery 正确渲染 Instagram 风格的标签列表  LinuxShell函数封装方法_脚本复用设计思路【教程】  Java垃圾回收器的方法和原理总结  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  如何基于云服务器快速搭建网站及云盘系统?  Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  Android Socket接口实现即时通讯实例代码  如何快速搭建自助建站会员专属系统?  Laravel怎么实现微信登录_Laravel Socialite第三方登录集成  ,网页ppt怎么弄成自己的ppt?  七夕网站制作视频,七夕大促活动怎么报名?  Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  桂林网站制作公司有哪些,桂林马拉松怎么报名?  微信小程序 canvas开发实例及注意事项  如何自定义建站之星网站的导航菜单样式?  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能  昵图网官方站入口 昵图网素材图库官网入口  在线制作视频网站免费,都有哪些好的动漫网站?  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧  如何批量查询域名的建站时间记录?  三星、SK海力士获美批准:可向中国出口芯片制造设备  Laravel怎么判断请求类型_Laravel Request isMethod用法  Laravel怎么使用artisan命令缓存配置和视图  Windows Hello人脸识别突然无法使用  bing浏览器学术搜索入口_bing学术文献检索地址