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 相关文章推荐
用函数读出数据表内容放入二维数组
Oct 09 PHP
让PHP支持页面回退的两种方法[转]
Feb 14 PHP
PHP通用检测函数集合
Feb 08 PHP
用PHP写的基于Memcache的Queue实现代码
Nov 27 PHP
php网上商城购物车设计代码分享
Feb 15 PHP
thinkphp模板赋值与替换实例简述
Nov 24 PHP
PHP实现接收二进制流转换成图片的方法
Jan 10 PHP
PHP命名空间namespace的定义方法详解
Mar 29 PHP
php制作圆形用户头像的实例_自定义封装类源代码
Sep 18 PHP
php面试中关于面向对象的相关问题
Feb 13 PHP
PhpStorm连接服务器并实现自动上传功能
Dec 09 PHP
php 解析非标准json、非规范json
Apr 01 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
php GD绘制24小时柱状图
2008/06/28 PHP
php出现web系统多域名登录失败的解决方法
2014/09/30 PHP
PHP页面转UTF-8中文编码乱码的解决办法
2015/10/20 PHP
php封装好的人民币数值转中文大写类
2015/12/20 PHP
php实现和c#一致的DES加密解密实例
2017/07/24 PHP
详解php curl带有csrf-token验证模拟提交方法
2018/04/18 PHP
Javascript 获取链接(url)参数的方法[正则与截取字符串]
2010/02/09 Javascript
jQuery Dialog 弹出层对话框插件
2010/08/09 Javascript
jquery实现滑屏大图定时收缩为小banner图片的广告代码
2015/09/02 Javascript
js防阻塞加载的实现方法
2016/09/09 Javascript
详解Angularjs在控制器(controller.js)中使用过滤器($filter)格式化日期/时间实例
2017/02/17 Javascript
jquery拼接ajax 的json和字符串拼接的方法
2017/03/11 Javascript
详解JavaScript按概率随机生成事件
2017/08/02 Javascript
为vue-router懒加载时下载js的过程中添加loading提示避免无响应问题
2018/04/03 Javascript
JavaScript实现无限级递归树的示例代码
2019/03/29 Javascript
详解vuex之store源码简单解析
2019/06/13 Javascript
微信小程序 腾讯地图SDK 获取当前地址实现解析
2019/08/12 Javascript
JS Ajax请求会话过期处理问题解决方法分析
2019/11/16 Javascript
vue 弹出遮罩层样式实例
2020/07/22 Javascript
[01:14:35]DOTA2上海特级锦标赛B组资格赛#1 Alliance VS Fnatic第一局
2016/02/26 DOTA
[37:21]完美世界DOTA2联赛PWL S2 Inki vs Magma 第二场 11.22
2020/11/24 DOTA
浅析Python 读取图像文件的性能对比
2019/03/07 Python
python被修饰的函数消失问题解决(基于wraps函数)
2019/11/04 Python
django之从html页面表单获取输入的数据实例
2020/03/16 Python
在 Windows 下搭建高效的 django 开发环境的详细教程
2020/07/27 Python
Python如何爬取51cto数据并存入MySQL
2020/08/25 Python
css3的transform中scale缩放详解
2014/12/08 HTML / CSS
Aurora London官网:奢华、负担得起的皮革手袋
2020/08/01 全球购物
TCP/IP中的TCP和IP分别承担什么责任
2012/04/21 面试题
家具厂厂长岗位职责
2014/01/01 职场文书
《春笋》教学反思
2014/04/15 职场文书
单位作风建设剖析材料
2014/10/11 职场文书
初任公务员培训心得体会
2016/01/08 职场文书
写一个Python脚本自动爬取Bilibili小视频
2021/04/24 Python
Spring Cloud Netflix 套件中的负载均衡组件 Ribbon
2022/04/13 Java/Android
JS轻量级函数式编程实现XDM二
2022/06/16 Javascript