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的内置函数,通过DES算法对数据加密和解密
Jun 21 PHP
PHP正则表达式之定界符和原子介绍
Oct 05 PHP
PHP中如何实现常用邮箱的基本判断
Jan 07 PHP
PHP实现的博客欢迎提示功能(很特别哦)
Jun 05 PHP
PHP的serialize序列化数据以及JSON格式化数据分析
Oct 10 PHP
PHP+Mysql+jQuery实现发布微博程序 php篇
Oct 15 PHP
PHP封装的字符串加密解密函数
Dec 18 PHP
php基于单例模式封装mysql类完整实例
Oct 18 PHP
ThinkPHP 3.2.3实现页面静态化功能的方法详解
Aug 03 PHP
Laravel 队列使用的实现
Jan 08 PHP
laravel Validator ajax返回错误信息的方法
Sep 29 PHP
laravel返回统一格式错误码问题
Nov 04 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设计模式之单例模式使用示例
2014/01/20 PHP
利用laravel+ajax实现文件上传功能方法示例
2017/08/13 PHP
PHP7.1实现的AES与RSA加密操作示例
2018/06/15 PHP
PHP切割汉字的常用方法实例总结
2019/04/27 PHP
jQuery参数列表集合
2011/04/06 Javascript
jquery乱码与contentType属性设置问题解决方案
2013/01/07 Javascript
JS保存、读取、换行、转Json报错处理方法
2013/06/14 Javascript
JavaScript实现找出字符串中第一个不重复的字符
2014/09/03 Javascript
jquery中append()与appendto()用法分析
2014/11/14 Javascript
Jquery注册事件实现方法
2015/05/18 Javascript
node.js文件上传处理示例
2016/10/27 Javascript
jQuery Validate表单验证插件的基本使用方法及功能拓展
2017/01/04 Javascript
H5图片压缩与上传实例
2017/04/21 Javascript
本地存储localStorage用法详解
2017/07/31 Javascript
vue 权限认证token的实现方法
2018/07/17 Javascript
解决Vue中引入swiper,在数据渲染的时候,发生不滑动的问题
2018/09/27 Javascript
vue quill editor 使用富文本添加上传音频功能
2020/01/14 Javascript
[00:43]DOTA2小紫本全民票选福利PA至宝全方位展示
2014/11/25 DOTA
python去除文件中重复的行实例
2018/06/29 Python
Python pygorithm模块用法示例【常见算法测试】
2018/08/16 Python
python样条插值的实现代码
2018/12/17 Python
win8.1安装Python 2.7版环境图文详解
2019/07/01 Python
django获取from表单multiple-select的value和id的方法
2019/07/19 Python
django中使用POST方法获取POST数据
2019/08/20 Python
详解python中的异常捕获
2020/12/15 Python
在印度上传处方,在线订购药品:Medlife
2019/03/28 全球购物
英国领先的维生素和补充剂品牌:Higher Nature
2019/08/26 全球购物
SQL Server 2000数据库的文件有哪些,分别进行描述
2013/03/30 面试题
介绍一下Ruby的特点
2013/01/20 面试题
歌颂祖国演讲稿
2014/05/04 职场文书
大学自主招生推荐信
2014/05/10 职场文书
教师竞聘上岗演讲稿
2014/09/03 职场文书
安全隐患整改报告
2014/11/06 职场文书
家长给老师的感谢信
2015/01/20 职场文书
小学大队长竞选稿
2015/11/20 职场文书
小学教师暑期培训心得体会
2016/01/09 职场文书