thinkPHP5.0框架事务处理操作简单示例

 更新时间:2018年09月07日 17:02:17   作者:zouzongning  
这篇文章主要介绍了thinkPHP5.0框架事务处理操作,结合实例形式分析了thinkPHP5针对删除操作的事务处理相关操作技巧,需要的朋友可以参考下

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

相关文章

  • php中curl使用指南

    php中curl使用指南

    这篇文章主要介绍了php中curl使用指南,十分详细,需要的朋友可以参考下
    2015-02-02
  • Yii视图CGridView实现操作按钮定义地址示例

    Yii视图CGridView实现操作按钮定义地址示例

    这篇文章主要介绍了Yii视图CGridView实现操作按钮定义地址的方法,涉及Yii视图按钮操作相关技巧,需要的朋友可以参考下
    2016-07-07
  • php对数组排序代码分享

    php对数组排序代码分享

    这篇文章主要介绍了php对数组排序代码,需要的朋友可以参考下
    2014-02-02
  • 在Laravel5.6中使用Swoole的协程数据库查询

    在Laravel5.6中使用Swoole的协程数据库查询

    这篇文章主要介绍了在Laravel5.6中使用Swoole的协程数据库查询,详细的介绍了什么是Swoole,以及Laravel5.6中使用Swoole,非常具有实用价值,需要的朋友可以参考下
    2018-06-06
  • Laravel+Intervention实现上传图片功能示例

    Laravel+Intervention实现上传图片功能示例

    这篇文章主要介绍了Laravel+Intervention实现上传图片功能,结合实例形式分析了Intervention的安装及图片上传功能的相关设置、使用与注意事项,需要的朋友可以参考下
    2019-07-07
  • CI框架整合smarty步骤详解

    CI框架整合smarty步骤详解

    这篇文章主要介绍了CI框架整合smarty步骤,结合实例形式详细分析了CI框架中Smarty的配置技巧与调用方法,需要的朋友可以参考下
    2016-05-05
  • 推荐25款php中非常有用的类库

    推荐25款php中非常有用的类库

    作为一个PHP开发者,现在是一个令人激动的时刻。每天有许许多多有用的库分发出来,在Github上很容易发现和使用这些库。今天我来给大家推荐25款非常有用的库
    2014-09-09
  • PHP模拟post提交数据方法汇总

    PHP模拟post提交数据方法汇总

    使用php模拟post传值虽然在日常生活中用到的不是很多,但是在某些场合还是经常用到的。下面脚本之家小编给大家整理了三种php模拟post传值的方法,file_get_contents、curl和socket,需要的朋友参考下
    2016-02-02
  • Joomla框架实现字符串截取的方法示例

    Joomla框架实现字符串截取的方法示例

    这篇文章主要介绍了Joomla框架实现字符串截取的方法,涉及php字符串及正则操作相关技巧,需要的朋友可以参考下
    2017-07-07
  • 推荐几个开源的微信开发项目

    推荐几个开源的微信开发项目

    这篇文章主要推荐几个开源的微信开发项目,需要的朋友可以参考下
    2014-12-12

最新评论