tp3.2php开启事务,ThinkPHP 3.2.2实现事务操作的方法
這篇文章主要介紹了ThinkPHP 3.2.2實現事務操作的方法,簡單分析了thinkPHP中事務的啟動、提交、回滾等操作方法并給出了完整的事務提交與回滾操作實例,需要的朋友可以參考下
本文實例講述了ThinkPHP 3.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('事物提交',);
echo '事物提交';
}else{
M()->rollback();
//$this->error('事物回滾',);
echo '事物回滾';
}
}
}
相關推薦:
總結
以上是生活随笔為你收集整理的tp3.2php开启事务,ThinkPHP 3.2.2实现事务操作的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php一次性执行多条sql_PHP循环执
- 下一篇: 502 bad gateway php-