主页 > 知识库 > thinkPHP5.0框架事务处理操作简单示例

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

热门标签:Linux服务器 团购网站 服务器配置 阿里云 电子围栏 Mysql连接数设置 银行业务 科大讯飞语音识别系统

本文实例讲述了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程序设计有所帮助。

您可能感兴趣的文章:
  • ThinkPHP 3.2.2实现事务操作的方法
  • Thinkphp事务操作实例(推荐)
  • thinkPHP框架中执行事务的方法示例
  • ThinkPHP实现事务回滚示例代码
  • thinkphp 多表 事务详解
  • php中在PDO中使用事务(Transaction)
  • php+mysql事务rollbackcommit示例
  • 解析php mysql 事务处理回滚操作(附实例)
  • PHP中实现MySQL嵌套事务的两种解决方案
  • php事务回滚简单实现方法示例
  • thinkPHP事务操作简单案例分析

标签:衡水 江苏 萍乡 广元 衢州 枣庄 大理 蚌埠

巨人网络通讯声明:本文标题《thinkPHP5.0框架事务处理操作简单示例》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266