ThinkPHP 3.2.2 トランザクション操作の実装方法

不言
リリース: 2023-03-25 07:04:01
オリジナル
2637 人が閲覧しました

この記事では、主に 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[&#39;operator&#39;] = &#39;Testss&#39;;
    M()->startTrans();
    $result = M(&#39;feehistory&#39;)->add($data);
    $result1 = $result2 = true;
    if(!empty($result)){
      $regdelData[&#39;level&#39;] = &#39;111&#39;;
      $result1 = M(&#39;regdel&#39;)->add($regdelData);
      $regData[&#39;level&#39;] = &#39;101&#39;;
      $result2 = M(&#39;reg&#39;)->where("registryCode=&#39;13693536752-SJB-HUAX-12345678&#39;")->save($regData);
    }
    if(!empty($result) && !empty($result1) && !empty($result2) ){
      M()->commit();
      //$this->success(&#39;事物提交&#39;,);
      echo &#39;事物提交&#39;;
    }else{
      M()->rollback();
      //$this->error(&#39;事物回滚&#39;,);
      echo &#39;事物回滚&#39;;
    }
  }
}
ログイン後にコピー
関連推奨事項:

thinkphp5 インスタンスの簡単な実装についての簡単な説明



以上がThinkPHP 3.2.2 トランザクション操作の実装方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!