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 相关文章推荐
PHP4实际应用经验篇(7)
Oct 09 PHP
dedecms后台验证码总提示错误的解决方法
Mar 21 PHP
php数组总结篇(一)
Sep 30 PHP
纯真IP数据库的应用 IP地址转化成十进制
Jun 14 PHP
web目录下不应该存在多余的程序(安全考虑)
May 09 PHP
php中error与exception的区别及应用
Jul 28 PHP
PHP中trim()函数简单使用指南
Apr 16 PHP
php快速排序原理与实现方法分析
May 26 PHP
PHP仿微信多图片预览上传实例代码
Sep 13 PHP
Linux平台php命令行程序处理管道数据的方法
Nov 10 PHP
php实现mysql连接池效果实现代码
Jan 25 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
Jun 16 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
PHP4中session登录页面的应用
2008/07/25 PHP
解析php中反射的应用
2013/06/18 PHP
PHP中soap的用法实例
2014/10/24 PHP
变量在 PHP7 内部的实现(一)
2015/12/21 PHP
My Desktop :) 桌面式代码
2008/12/29 Javascript
JS backgroundImage控制
2009/05/19 Javascript
js 代码优化点滴记录
2012/02/19 Javascript
用原生JavaScript实现jQuery的$.getJSON的解决方法
2013/05/03 Javascript
Node.js 实现简单小说爬虫实例
2016/11/18 Javascript
AngularJS改变元素显示状态
2017/04/20 Javascript
jQuery插件实现的日历功能示例【附源码下载】
2018/09/07 jQuery
创建Vue项目以及引入Iview的方法示例
2018/12/03 Javascript
原生JS实现列表内容自动向上滚动效果
2019/05/22 Javascript
JS实现打砖块游戏
2020/02/14 Javascript
Vue路由的模块自动化与统一加载实现
2020/06/05 Javascript
Python制作爬虫抓取美女图
2016/01/20 Python
使用Python判断质数(素数)的简单方法讲解
2016/05/05 Python
python模拟事件触发机制详解
2018/01/19 Python
关于python下cv.waitKey无响应的原因及解决方法
2019/01/10 Python
Python实现栈的方法详解【基于数组和单链表两种方法】
2020/02/22 Python
python+selenium+PhantomJS抓取网页动态加载内容
2020/02/25 Python
win10下opencv-python特定版本手动安装与pip自动安装教程
2020/03/05 Python
Django实现后台上传并显示图片功能
2020/05/29 Python
Python连接mysql方法及常用参数
2020/09/01 Python
用python获取txt文件中关键字的数量
2020/12/24 Python
详解CSS3 filter:drop-shadow滤镜与box-shadow区别与应用
2020/08/24 HTML / CSS
HTML5在canvas中绘制复杂形状附效果截图
2014/06/23 HTML / CSS
世界上最好的野生海鲜和有机食品:Vital Choice
2020/01/16 全球购物
创业资金计划书
2014/02/06 职场文书
小班评语大全
2014/05/04 职场文书
2014年学生会工作总结范文
2014/11/07 职场文书
2014年女职工工作总结
2014/11/27 职场文书
八年级上册语文教学计划
2015/01/22 职场文书
2015入党自传格式范文
2015/06/26 职场文书
《灰雀》教学反思
2016/02/19 职场文书
用python修改excel表某一列内容的操作方法
2021/06/11 Python