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 删除记录同时删除图片文件的实现代码
May 12 PHP
window+nginx+php环境配置 附配置搭配说明
Dec 29 PHP
让Json更懂中文(JSON_UNESCAPED_UNICODE)
Oct 27 PHP
Php图像处理类代码分享
Jan 19 PHP
PHP检测移动设备类mobile detection使用实例
Apr 14 PHP
PHP判断上传文件类型的解决办法
Oct 20 PHP
php图片添加水印例子
Jul 20 PHP
php加密解密字符串示例
Oct 13 PHP
php实现将base64格式图片保存在指定目录的方法
Oct 13 PHP
PHP生成随机数的方法总结
Mar 01 PHP
Ubuntu中支持PHP5与PHP7双版本的简单实现
Aug 19 PHP
Laravel 使用查询构造器配合原生sql语句查询的例子
Oct 12 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和Mysqlweb应用开发核心技术-第1部分 Php基础-2 php语言介绍
2011/07/03 PHP
解析htaccess伪静态的规则
2013/06/18 PHP
PHP curl 获取响应的状态码的方法
2014/01/13 PHP
PHP.ini中配置屏蔽错误信息显示和保存错误日志的例子
2014/05/12 PHP
PHP远程连接oracle数据库操作实现方法图文详解
2019/04/11 PHP
javascript当onmousedown、onmouseup、onclick同时应用于同一个标签节点Element
2010/01/05 Javascript
Javascript中的for in循环和hasOwnProperty结合使用
2013/06/05 Javascript
控制台报错object is not a function的解决方法
2014/08/24 Javascript
Javascript复制实例详解
2016/01/28 Javascript
微信小程序 判断手机号的实现代码
2017/04/19 Javascript
jQuery实现的事件绑定功能基本示例
2017/10/11 jQuery
Vue源码中要const _toStr = Object.prototype.toString的原因分析
2018/12/09 Javascript
JavaScript HTML DOM 元素 (节点)新增,编辑,删除操作实例分析
2020/03/02 Javascript
JavaScript实现图片放大预览效果
2020/11/02 Javascript
[01:20:47]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第一场 1月19日
2021/03/11 DOTA
Python中使用语句导入模块或包的机制研究
2015/03/30 Python
python操作excel的方法
2018/08/16 Python
django主动抛出403异常的方法详解
2019/01/04 Python
python关于矩阵重复赋值覆盖问题的解决方法
2019/07/19 Python
Mac安装python3的方法步骤
2019/08/09 Python
python文件操作的简单方法总结
2019/11/07 Python
python 递归调用返回None的问题及解决方法
2020/03/16 Python
Pytorch 图像变换函数集合小结
2021/02/01 Python
TensorFlow低版本代码自动升级为1.0版本
2021/02/20 Python
Html5大文件断点续传实现方法
2015/12/05 HTML / CSS
智能电子秤、手表和健康监测仪:Withings(之前为诺基亚健康)
2018/10/30 全球购物
社区母亲节活动方案
2014/03/05 职场文书
项目合作协议书
2014/09/23 职场文书
购房协议书范本
2014/10/02 职场文书
胡雪岩故居导游词
2015/02/06 职场文书
佛光寺导游词
2015/02/10 职场文书
培养联系人考察意见
2015/06/01 职场文书
2016年过年放假安排通知
2015/08/18 职场文书
html+css实现分层金字塔的实例
2021/06/02 HTML / CSS
Java使用httpRequest+Jsoup爬取红蓝球号码
2021/07/02 Java/Android
go开发alertmanger实现钉钉报警
2021/07/16 Golang