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 相关文章推荐
基于python发送邮件的乱码问题的解决办法
Apr 25 PHP
php与java通过socket通信的实现代码
Oct 21 PHP
ThinkPHP内置jsonRPC的缺陷分析
Dec 18 PHP
php遍历目录方法小结
Mar 10 PHP
列举PHP的Yii 2框架的开发优势
Jul 03 PHP
在PHP语言中使用JSON和将json还原成数组的方法
Jul 19 PHP
php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法
Oct 12 PHP
php封装的mongodb操作类代码
Aug 06 PHP
php 二维数组快速排序算法的实现代码
Oct 17 PHP
laravel 判断查询数据库返回值的例子
Oct 11 PHP
php进程(线程)通信基础之System V共享内存简单实例分析
Nov 09 PHP
TP5框架实现自定义分页样式的方法示例
Apr 05 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/10/09 PHP
Uchome1.2 1.5 代码学习 common.php
2009/04/24 PHP
Yii2框架RESTful API 格式化响应,授权认证和速率限制三部分详解
2016/11/10 PHP
jQuery学习3:操作元素属性和特性
2010/02/07 Javascript
javascript定义函数的方法
2010/12/06 Javascript
jquery动态调整div大小使其宽度始终为浏览器宽度
2014/06/06 Javascript
jQuery Masonry瀑布流插件使用详解
2014/11/17 Javascript
Jsonp post 跨域方案
2015/07/06 Javascript
jQuery实现的左右移动焦点图效果
2016/01/14 Javascript
20分钟成功编写bootstrap响应式页面 就这么简单
2016/05/12 Javascript
JS失效 提示HTML1114: (UNICODE 字节顺序标记)的代码页 utf-8 覆盖(META 标记)的冲突的代码页 utf-8
2017/06/23 Javascript
Vue应用部署到服务器的正确方式
2017/07/15 Javascript
JS获取今天是本月第几周、本月共几周、本月有多少天、是今年的第几周、是今年的第几天的示例代码
2018/12/05 Javascript
JQuery获取可视区尺寸和文档尺寸及制作悬浮菜单示例
2019/05/14 jQuery
JavaScript闭包相关知识解析
2019/10/19 Javascript
Openlayers学习之加载鹰眼控件
2020/09/28 Javascript
Python批量修改文本文件内容的方法
2016/04/29 Python
在Python的Flask框架中构建Web表单的教程
2016/06/04 Python
windows上安装Anaconda和python的教程详解
2017/03/28 Python
Python 私有函数的实例详解
2017/09/11 Python
python3读取csv和xlsx文件的实例
2018/06/22 Python
Django 实现图片上传和显示过程详解
2019/07/18 Python
Python基于pygame实现单机版五子棋对战
2019/12/26 Python
python框架Django实战商城项目之工程搭建过程图文详解
2020/03/09 Python
python+requests接口压力测试500次,查看响应时间的实例
2020/04/30 Python
python构造IP报文实例
2020/05/05 Python
浅谈Python 命令行参数argparse写入图片路径操作
2020/07/12 Python
浅析python实现动态规划背包问题
2020/12/31 Python
python如何实现递归转非递归
2021/02/25 Python
使用CSS3制作版头动画效果
2020/12/24 HTML / CSS
企事业单位求职者的自我评价
2013/12/28 职场文书
大型活动组织方案
2014/05/10 职场文书
战略合作意向书
2014/07/29 职场文书
尊师重教演讲稿
2014/09/04 职场文书
公司禁烟通知
2015/04/23 职场文书
Golang入门之计时器
2022/05/04 Golang