thinkPHP5.0框架事务处理操作简单示例


Posted in PHP onSeptember 07, 2018

本文实例讲述了thinkPHP5.0框架事务处理操作。分享给大家供大家参考,具体如下:

事务的调用在mysql里需要注意下数据库引擎,处理前先查看一下

删除方法:

public function del()
{
    $cate = new CateModel;
    $id=input('id');
    $selectID=$cate->find($id);
    if($id == ''){
      $this->error('请不要恶意测试');
    }
    //调用事务删除
    $del=$cate->shiwu($id);
    if($del == true){
      $this->success('删除成功/!');
    }else{
      $this->error('删除失败/!');
    }
}

调用事务删除

//事务处理删除
public function shiwu($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();
    return true;
  } catch (\Exception $e) {
    // 回滚事务
    Db::rollback();
    return false;
  }
}

getChildId方法

public function getChildId($id)
{
    $cateres=Cate::select();
    return $this->_getChildId($cateres,$id);
}
public function _getChildId($cateres,$id)
{
    static $arr = array();
    foreach ($cateres as $k => $v) {
      if($id == $v['pid']){
        $arr[] = $v['id'];
        $this->_getChildId($cateres,$v['id']);
      }
    }
    return $arr;
}

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

PHP 相关文章推荐
php中批量替换文件名的实现代码
Jul 20 PHP
浅析PHP Socket技术
Aug 02 PHP
linux实现php定时执行cron任务详解
Dec 24 PHP
PHP截取指定图片大小的方法
Dec 10 PHP
php修改文件上传限制方法汇总
Apr 07 PHP
php+ajax+json 详解及实例代码
Dec 12 PHP
php实时倒计时功能实现方法详解
Feb 27 PHP
PHP实现获取第一个中文首字母并进行排序的方法
May 09 PHP
PHP基于XMLWriter操作xml的方法分析
Jul 17 PHP
PHP中TP5 上传文件的实例详解
Jul 31 PHP
详解PHP序列化和反序列化原理
Jan 15 PHP
thinkPHP5.0框架验证码调用及点击图片刷新简单实现方法
Sep 07 #PHP
php curl优化下载微信头像的方法总结
Sep 07 #PHP
Yii1.1框架实现PHP极光推送消息通知功能
Sep 06 #PHP
PHP日志LOG类定义与用法示例
Sep 06 #PHP
PHP实现断点续传乱序合并文件的方法
Sep 06 #PHP
php JWT在web端中的使用方法教程
Sep 06 #PHP
php进程daemon化的正确实现方法
Sep 06 #PHP
You might like
中英文字符串翻转函数
2008/12/09 PHP
据说是雅虎的一份PHP面试题附答案
2009/01/07 PHP
php内嵌函数用法实例
2015/03/20 PHP
从性能方面考虑PHP下载远程文件的3种方法
2015/12/29 PHP
Mootools 1.2教程(21)——类(二)
2009/09/15 Javascript
IE6弹出“已终止操作”的解决办法
2010/11/27 Javascript
jQuery的attr与prop使用介绍
2013/10/10 Javascript
jquery Ajax 实现加载数据前动画效果的示例代码
2014/02/07 Javascript
Javascript的严格模式strict mode详细介绍
2014/06/06 Javascript
JS+CSS实现仿新浪微博搜索框的方法
2015/02/24 Javascript
JS实现点击文字对应DIV层不停闪动效果的方法
2015/03/02 Javascript
js读取并解析JSON类型数据的方法
2015/11/14 Javascript
Bootstrap基本组件学习笔记之进度条(15)
2016/12/08 Javascript
基于react框架使用的一些细节要点的思考
2017/05/31 Javascript
微信web端后退强制刷新功能的实现代码
2018/03/04 Javascript
在vue中使用vue-echarts-v3的实例代码
2018/09/13 Javascript
jQuery实现提交表单时不提交隐藏div中input的方法
2019/10/08 jQuery
js实现倒计时秒杀效果
2020/03/25 Javascript
ES6实现图片切换特效代码
2020/01/14 Javascript
python将多个文本文件合并为一个文本的代码(便于搜索)
2011/03/13 Python
利用Python如何生成随机密码
2016/04/20 Python
python爬虫获取多页天涯帖子
2018/02/23 Python
python实现LRU热点缓存及原理
2019/10/29 Python
tensorflow使用CNN分析mnist手写体数字数据集
2020/06/17 Python
Python requests接口测试实现代码
2020/09/08 Python
html5将图片转换成base64的实例代码
2016/09/21 HTML / CSS
美国殿堂级滑板、冲浪、滑雪服装品牌:Volcom(钻石)
2017/04/20 全球购物
美国睫毛、眉毛精华液领导品牌:RevitaLash Cosmetics
2018/03/26 全球购物
澳大利亚著名的纺织品品牌:Canningvale
2020/05/05 全球购物
新文化运动的口号
2014/06/21 职场文书
2014县委书记四风对照检查材料思想汇报
2014/09/21 职场文书
先进个人事迹材料
2014/12/29 职场文书
幼儿园中秋节活动总结
2015/03/23 职场文书
2015年度考核个人工作总结
2015/10/24 职场文书
HTML5 语义化标签(移动端必备)
2021/08/23 HTML / CSS
python中的getter与setter你了解吗
2022/03/24 Python