tp3.2php开启事务,ThinkPHP 3.2.2实现事务操作的方法
這篇文章主要介紹了ThinkPHP 3.2.2實現(xiàn)事務(wù)操作的方法,簡單分析了thinkPHP中事務(wù)的啟動、提交、回滾等操作方法并給出了完整的事務(wù)提交與回滾操作實例,需要的朋友可以參考下
本文實例講述了ThinkPHP 3.2.2實現(xiàn)事務(wù)操作的方法。分享給大家供大家參考,具體如下:
手冊里說得非常清楚 :
5.3.19 事務(wù)支持
ThinkPHP提供了單數(shù)據(jù)庫的事務(wù)支持,如果要在應(yīng)用邏輯中使用事務(wù),可以參考下面的方法:
啟動事務(wù):$User->startTrans()
提交事務(wù):$User->commit()
事務(wù)回滾:$User->rollback()
事務(wù)是針對數(shù)據(jù)庫本身的,所以可以跨模型操作的 。
例如:// 在User模型中啟動事務(wù)
$User->startTrans()
// 進行相關(guān)的業(yè)務(wù)邏輯操作
$Info = M("Info"); // 實例化Info對象
$Info->save($User); // 保存用戶信息
if (操作成功){
// 提交事務(wù)
$User->commit()
}else{
// 事務(wù)回滾
$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 '事物回滾';
}
}
}
相關(guān)推薦:
總結(jié)
以上是生活随笔為你收集整理的tp3.2php开启事务,ThinkPHP 3.2.2实现事务操作的方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php一次性执行多条sql_PHP循环执
- 下一篇: Java sqlite事务方法,Java