怎么在thinkPHP5.0框架中对事务进行处理
作者
这篇文章将为大家详细讲解有关怎么在thinkPHP5.0框架中对事务进行处理,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
事务的调用在mysql里需要注意下数据库引擎,处理前先查看一下
删除方法:
publicfunctiondel() { $cate=newCateModel; $id=input('id'); $selectID=$cate->find($id); if($id==''){ $this->error('请不要恶意测试'); } //调用事务删除 $del=$cate->shiwu($id); if($del==true){ $this->success('删除成功/!'); }else{ $this->error('删除失败/!'); } }
调用事务删除
//事务处理删除 publicfunctionshiwu($id) { $cates=Cate::getChildId($id); Db::startTrans($id,$cates);//$cates是所有子分类的一维数组 try{ Db::table('tp_cate')->where('id','in',$cates)->delete();//删除所有子分类 Db::table('tp_cate')->where('id',$id)->delete();//删除自身 //提交事务 Db::commit(); returntrue; }catch(\Exception$e){ //回滚事务 Db::rollback(); returnfalse; } }
getChildId方法
publicfunctiongetChildId($id) { $cateres=Cate::select(); return$this->_getChildId($cateres,$id); } publicfunction_getChildId($cateres,$id) { static$arr=array(); foreach($cateresas$k=>$v){ if($id==$v['pid']){ $arr[]=$v['id']; $this->_getChildId($cateres,$v['id']); } } return$arr; }
关于怎么在thinkPHP5.0框架中对事务进行处理就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
目录
推荐阅读
-
Web应用从零开始,初学者友好型开发教程
-
容器化最佳实践:Docker 与 Kubernetes 在微服务架构中的协同设计
-
AWS Cloud9 使用攻略:云端 IDE 如何无缝集成 Lambda 与 S3 服务?
-
Heroku vs AWS Elastic Beanstalk:快速部署 Web 应用的平台对比
-
Kubernetes 集群部署避坑:资源调度、服务发现与滚动更新策略
-
Docker 镜像优化指南:分层构建、瘦身技巧与多阶段编译实践
-
Postman 接口测试全流程:从 API 设计到自动化测试脚本编写
-
pytest 框架进阶:自定义 fixture、插件开发与持续集成集成方案
-
JUnit 5 新特性:参数化测试、扩展模型与微服务测试实践
-
Chrome DevTools 性能分析:FPS 监控、内存快照与网络请求优化指南