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 相关文章推荐
discuz 首页四格:最新话题+最新回复+热门话题+精华文章插件
Aug 19 PHP
完美解决PHP中文乱码
Nov 26 PHP
php调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别
Aug 08 PHP
浅析Yii中使用RBAC的完全指南(用户角色权限控制)
Jun 20 PHP
ThinkPHP3.2.2的插件控制器功能
Mar 05 PHP
微信自定义菜单的处理开发示例
Apr 16 PHP
PHP符合PSR编程规范的实例分享
Dec 21 PHP
PHP文件上传、客户端和服务器端加限制、抓取错误信息、完整步骤解析
Jan 12 PHP
PHP实现蛇形矩阵,回环矩阵及数字螺旋矩阵的方法分析
May 29 PHP
php curl批处理实现可控并发异步操作示例
May 09 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
Nov 24 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
Feb 21 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
ThinkPHP表单自动验证实例
2014/10/13 PHP
PHP函数实现分页含文本分页和数字分页
2014/10/23 PHP
phpstorm配置Xdebug进行调试PHP教程
2014/12/01 PHP
PHP中require和include路径问题详解
2014/12/25 PHP
php文件下载处理方法分析
2015/04/22 PHP
yii2利用自带UploadedFile实现上传图片的示例
2017/02/16 PHP
DOM Scripting中的图片切换[兼容Firefox]
2010/06/12 Javascript
通过Javascript将数据导出到外部Excel文档的函数代码
2012/06/15 Javascript
jQuery 判断图片是否加载完成方法汇总
2015/08/10 Javascript
浅析JavaScript 箭头函数 generator Date JSON
2016/05/23 Javascript
全面解析Bootstrap中tooltip、popover的使用方法
2016/06/13 Javascript
bootstrap table分页模板和获取表中的ID方法
2017/01/10 Javascript
Bootstrap模态框使用详解
2017/02/15 Javascript
纯JS实现只能输入数字的简单代码
2017/06/21 Javascript
使用socket.io实现简单聊天室案例
2018/01/02 Javascript
Node.js使用Angular简单示例
2018/05/11 Javascript
JS实现动态生成html table表格的方法分析
2018/07/11 Javascript
微信小程序中使用自定义图标(阿里icon)的方法
2018/08/20 Javascript
bootstrap 日期控件 datepicker被弹出框dialog覆盖的解决办法
2019/07/09 Javascript
浅谈JS中几种轻松处理'this'指向方式
2019/09/16 Javascript
vue + node如何通过一个Txt文件批量生成MP3并压缩成Zip
2020/06/02 Javascript
[46:20]CHAOS vs Alliacne 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python 专题一 函数的基础知识
2017/03/16 Python
对python文件读写的缓冲行为详解
2019/02/13 Python
弄懂这56个Python使用技巧(轻松掌握Python高效开发)
2019/09/18 Python
python实现while循环打印星星的四种形状
2019/11/23 Python
python实现定时发送邮件到指定邮箱
2020/12/23 Python
详解纯CSS3制作的20种loading动效
2017/07/05 HTML / CSS
CSS3中使用RGBa来调节透明度的教程
2016/05/09 HTML / CSS
德国BA保镖药房韩文网:kr.ba.de
2017/09/04 全球购物
开学典礼演讲稿
2014/05/23 职场文书
人口与计划生育目标管理责任书
2014/07/29 职场文书
基层工作经验证明样本
2014/11/16 职场文书
民间借贷借条范本
2015/05/25 职场文书
党风廉政建设心得体会(2016最新版)
2016/01/22 职场文书
vue+echarts实现多条折线图
2022/03/21 Vue.js