您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
小编给大家分享一下ThinkPHP3.2.2怎么实现事务操作,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
5.3.19 事务支持
ThinkPHP提供了单数据库的事务支持,如果要在应用逻辑中使用事务,可以参考下面的方法:
启动事务:
$User->startTrans()
提交事务:
$User->commit()
事务回滚:
$User->rollback()
事务是针对数据库本身的,所以可以跨模型操作的 。
例如:
// 在User模型中启动事务
$User->startTrans()
// 进行相关的业务逻辑操作
$Info = M("Info"); // 实例化Info对象
$Info->save($User); // 保存用户信息
if (操作成功){
// 提交事务
$User->commit()
}else{
// 事务回滚
$User->rollback()
}IndexController.class.php:
<?php
namespace SMS\Controller;
use Think\Controller;
class IndexController extends Controller {
public function index(){
$data['operator'] = 'Testss';
M()->startTrans();
$result = M('feehistory')->add($data);
$result1 = $result2 = true;
if(!empty($result)){
$regdelData['level'] = '111';
$result1 = M('regdel')->add($regdelData);
$regData['level'] = '101';
$result2 = M('reg')->where("registryCode='13693536752-SJB-HUAX-12345678'")->save($regData);
}
if(!empty($result) && !empty($result1) && !empty($result2) ){
M()->commit();
//$this->success('事物提交',__ROOT__);
echo '事物提交';
}else{
M()->rollback();
//$this->error('事物回滚',__ROOT__);
echo '事物回滚';
}
}
}以上是“ThinkPHP3.2.2怎么实现事务操作”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。