怎么在thinkPHP5.0框架中对事务进行处理

这篇文章将为大家详细讲解有关怎么在thinkPHP5.0框架中对事务进行处理,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

事务的调用在mysql里需要注意下数据库引擎,处理前先查看一下

怎么在thinkPHP5.0框架中对事务进行处理

删除方法:

publicfunctiondel()
{
$cate=newCateModel;
$id=input('id');
$selectID=$cate->find($id);
if($id==''){
$this->error('请不要恶意测试');
}
//调用事务删除
$del=$cate->shiwu($id);
if($del==true){
$this->success('删除成功/!');
}else{
$this->error('删除失败/!');
}
}

调用事务删除

//事务处理删除
publicfunctionshiwu($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();
returntrue;
}catch(\Exception$e){
//回滚事务
Db::rollback();
returnfalse;
}
}

getChildId方法

publicfunctiongetChildId($id)
{
$cateres=Cate::select();
return$this->_getChildId($cateres,$id);
}
publicfunction_getChildId($cateres,$id)
{
static$arr=array();
foreach($cateresas$k=>$v){
if($id==$v['pid']){
$arr[]=$v['id'];
$this->_getChildId($cateres,$v['id']);
}
}
return$arr;
}

关于怎么在thinkPHP5.0框架中对事务进行处理就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

发布于 2021-04-08 13:37:34
收藏
分享
海报
0 条评论
160
上一篇:怎么在微信小程序中利用wxParse解析html 下一篇:如何在Vue2中实时监听表单变化
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码