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 相关文章推荐
fleaphp crud操作之find函数的使用方法
Apr 23 PHP
深入PHP与浏览器缓存的分析
Jun 03 PHP
PHP中HTML标签过滤技巧
Jan 07 PHP
php将mysql数据库整库导出生成sql文件的具体实现
Jan 08 PHP
两级联动select刷新后其值保持不变的实现方法
Jan 27 PHP
php实例分享之通过递归实现删除目录下的所有文件详解
May 15 PHP
Linux下php5.4启动脚本
Aug 03 PHP
PHP共享内存用法实例分析
Feb 12 PHP
Zend Framework入门教程之Zend_Registry组件用法详解
Dec 09 PHP
数组任意位置插入元素,删除特定元素的实例
Mar 02 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
Nov 17 PHP
PHP使用phpunit进行单元测试示例
Sep 23 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
2个自定义的PHP in_array 函数,解决大量数据判断in_array的效率问题
2014/04/08 PHP
YII2 实现多语言配置的方法分享
2017/01/11 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
2017/11/14 PHP
php7下的filesize函数
2019/09/30 PHP
javascript textarea光标定位方法(兼容IE和FF)
2011/03/12 Javascript
通过javascript获取iframe里的值示例代码
2013/06/24 Javascript
node.js中的events.emitter.removeAllListeners方法使用说明
2014/12/10 Javascript
javascript实现十秒钟后注册按钮可点击的方法
2015/05/13 Javascript
全面解析多种Bootstrap图片轮播效果
2016/05/27 Javascript
JavaScript中误用/g导致的正则test()无法正确重复执行的解决方案
2016/07/27 Javascript
JavaScript兼容浏览器FF/IE技巧
2016/08/14 Javascript
关于ES6的六个小特性(二)
2017/02/20 Javascript
nuxt+axios解决前后端分离SSR的示例代码
2017/10/24 Javascript
微信小程序发送短信验证码完整实例
2019/01/07 Javascript
[40:57]TI4 循环赛第二日 iG vs EG
2014/07/11 DOTA
在Python中使用Mako模版库的简单教程
2015/04/08 Python
探究Python中isalnum()方法的使用
2015/05/18 Python
Python基本语法经典教程
2016/03/11 Python
Django项目中用JS实现加载子页面并传值的方法
2018/05/28 Python
Python3.5字符串常用操作实例详解
2019/05/01 Python
set在python里的含义和用法
2019/06/24 Python
双向RNN:bidirectional_dynamic_rnn()函数的使用详解
2020/01/20 Python
Scrapy框架基本命令与settings.py设置
2020/02/06 Python
python time.strptime格式化实例详解
2021/02/03 Python
css3 响应式媒体查询的示例代码
2019/09/25 HTML / CSS
css3使网页、图片变成灰色兼容大多数浏览器
2014/07/02 HTML / CSS
韩国保养品、日本药妆购物网:小三美日
2018/12/30 全球购物
汽车销售经理岗位职责
2014/06/09 职场文书
音乐教师求职信
2014/06/28 职场文书
工作目标责任书
2014/07/23 职场文书
励志演讲稿800字
2014/08/21 职场文书
大学生万能检讨书范例
2014/10/04 职场文书
网站文案策划岗位职责
2015/04/14 职场文书
小学数学教师研修感悟
2015/11/18 职场文书
2016年公共机构节能宣传周活动总结
2016/04/05 职场文书