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脚本的10个技巧(2)
Oct 09 PHP
PHP 已经成熟
Dec 04 PHP
自己前几天写的无限分类类
Feb 14 PHP
sourcesafe管理phpproj文件的补充说明(downmoon)
Apr 11 PHP
解析PHP中的内存管理,PHP动态分配和释放内存
Jun 28 PHP
从零开始学YII2框架(四)扩展插件yii2-kartikgii
Aug 20 PHP
Yii2 assets清除缓存的方法
May 16 PHP
几行代码轻松实现PHP文件打包下载zip
Mar 01 PHP
利用PHPStorm如何开发Laravel应用详解
Aug 30 PHP
php实现在线考试系统【附源码】
Sep 18 PHP
PHP PDOStatement::bindValue讲解
Jan 30 PHP
PHP利用DWZ.CN服务生成短网址
Aug 11 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
第十一节--重载
2006/11/16 PHP
浅析echo(),print(),print_r(),return之间的区别
2013/11/27 PHP
php计算几分钟前、几小时前、几天前的几个函数、类分享
2014/04/09 PHP
ThinkPHP实现递归无级分类――代码少
2015/07/29 PHP
laravel框架添加数据,显示数据,返回成功值的方法
2019/10/11 PHP
JavaScript Event学习第三章 早期的事件处理程序
2010/02/07 Javascript
javascript设计模式 封装和信息隐藏(上)
2012/07/24 Javascript
web网页按比例显示图片实现原理及js代码
2013/08/09 Javascript
javascript中parentNode,childNodes,children的应用详解
2013/12/17 Javascript
jQuery实现单击按钮遮罩弹出对话框(仿天猫的删除对话框)
2014/04/10 Javascript
js获取滚动距离的方法
2015/05/30 Javascript
详解javascript实现自定义事件
2016/01/19 Javascript
JavaScript获取css行间样式,内连样式和外链样式的简单方法
2016/07/18 Javascript
BootstrapTable+KnockoutJS自定义T4模板快速生成增删改查页面
2016/08/01 Javascript
微信小程序 loading 详解及实例代码
2016/11/09 Javascript
jquery Banner轮播选项卡
2016/12/26 Javascript
vue组件 $children,$refs,$parent的使用详解
2017/07/31 Javascript
浅谈Vuex@2.3.0 中的 state 支持函数申明
2017/11/22 Javascript
微信小程序实现全局搜索代码高亮的示例
2018/03/30 Javascript
vue项目上传Github预览的实现示例
2018/11/06 Javascript
VUE v-model表单数据双向绑定完整示例
2019/01/21 Javascript
在SSM框架下用laypage和ajax实现分页和数据交互的方法
2019/09/27 Javascript
python实现调用其他python脚本的方法
2014/10/05 Python
Python操作CouchDB数据库简单示例
2015/03/10 Python
python RabbitMQ 使用详细介绍(小结)
2018/11/08 Python
在Django中自定义filter并在template中的使用详解
2020/05/19 Python
如何在Windows中安装多个python解释器
2020/06/16 Python
在html页面中取得session中的值的方法
2020/08/11 HTML / CSS
Mio Skincare英国官网:身体紧致及孕期身体护理
2018/08/19 全球购物
测绘工程专业个人自我评价
2013/12/01 职场文书
七年级生物教学反思
2014/01/30 职场文书
保护环境的建议书
2014/03/12 职场文书
《厄运打不垮的信念》教学反思
2014/04/13 职场文书
劳模先进事迹材料
2014/12/24 职场文书
辛亥革命观后感
2015/06/02 职场文书
2016年万圣节活动个人总结
2016/04/05 职场文书