이 글에서는 ThinkPHP 3.2.2에서 트랜잭션 작업을 구현하는 방법을 주로 소개하고 thinkPHP에서 트랜잭션의 시작, 제출, 롤백 및 기타 작업 방법을 간략하게 분석하고 전체 트랜잭션 제출 및 롤백 작업 예제를 제공할 수 있습니다. 매우 명확하게 설명되어 있는
매뉴얼을 참조하세요.
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 '事物回滚'; } } }관련 권장사항: Visits_php 팁을 계산하기 위해 텍스트 방법 사용하기
php+mysql_php 스킬로 구현한 보조링크 메뉴효과에 대한 자세한 설명
위 내용은 ThinkPHP 3.2.2 트랜잭션 작업 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!