怎么在thinkPHP5.0框架中对事务进行处理
作者
这篇文章将为大家详细讲解有关怎么在thinkPHP5.0框架中对事务进行处理,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
事务的调用在mysql里需要注意下数据库引擎,处理前先查看一下
删除方法:
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框架中对事务进行处理就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
目录
推荐阅读
-
JAVA实现HTML转PDF的五种方法详解
-
MySQL创建和删除索引命令CREATE/DROP INDEX使用方法详解
-
深入理解 JavaScript 原型和构造函数创建对象的机制
-
ZooKeeper和Eureka有什么区别?注册中心如何选择?
-
ZooKeeper是什么?分布式系统开发者必读入门指南
-
JavaScript防抖与节流函数怎么写?高频事件优化技巧详解
-
c++中sprintf函数使用方法及示例代码详解
在C++编程中,格式化输出是常见的需求。虽然cout提供了基本的输出功能,但在需要精确控制输出格式(如指定宽度、精度、进制等)...
-
Swagger 接口注解详解教程:@Api、@ApiOperation、@ApiModelProperty 全解析
-
Python变量命名规则全解析:打造规范、可读性强的代码风格
-
OpenSSL是什么?OpenSSL使用方法详解
