srkp.net
当前位置:首页 >> thinkphp 事物回滚 >>

thinkphp 事物回滚

回滚示例如下: $m=D('YourModel');//或者是M(); $m2=D('YouModel2'); $m->startTrans();//在第一个模型里启用就可以了,或者第二个也行 $result=$m->where('删除条件')->delete(); $result2=m2->where('删除条件')->delete(); if($result && $r...

事务是一组组合成逻辑工作单元的操作。 简单的说 就是 操作几个相关的数据库时,保证每一步操作都完整,如果有错误,就返回到最开始。 例如,从A 里面 减1 ,在给 B 里面 加1 这是一个过程。如果不用事物,就会发送 A里面已经减了1,但是B 里面 ...

$withdraw->startTrans(); $withdraw = M('Withdraw'); $withdraw->add($data); if(成功){ $withdraw->commit(); }else{ $withdraw->rollback(); }

启动事务: $User->startTrans(); 提交事务: $User->commit(); 事务回滚: $User->rollback();

启动事务: $User->startTrans(); 提交事务: $User->commit();然后事务回滚,这样,我讲的应该够详细了吧,要是能够帮到你的话,你可以去后盾人平台看一看,以后有不懂的就在里面找吧.

请看手册: 使用 transaction 方法操作数据库事务,当发生异常会自动回滚,例如: 自动控制事务处理 Db::transaction(function(){ Db::table('think_user')->find(1); Db::table('think_user')->delete(1); });

当然可以了,事务是数据库的事务和哪个模型没有关系,需要注意的是事物开启需要在一开始使用事物就全部开启了,如果分开的话,你会发现第二个事物开启会把第一个事物给提交了。

请看手册: 使用 transaction 方法操作数据库事务,当发生异常会自动回滚,例如: 自动控制事务处理 Db::transaction(function(){ Db::table('think_user')->find(1); Db::table('think_user')->delete(1); }); 也可以手动控制事务,例如: // ...

虽然我没用过TP5 但是回滚肯定在catch中埃我有过一次想用if去回滚 失败了 换了try catch就可以了。你可以try catch中嵌套try catch来回滚也是可以

网站首页 | 网站地图
All rights reserved Powered by www.srkp.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com