ThinkPHP 3.2.2 トランザクション操作メソッド

墨辰丷
リリース: 2023-03-27 15:26:01
オリジナル
1613 人が閲覧しました

この記事では、主に 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[&#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;,__ROOT__);
      echo &#39;事物提交&#39;;
    }else{
      M()->rollback();
      //$this->error(&#39;事物回滚&#39;,__ROOT__);
      echo &#39;事物回滚&#39;;
    }
  }
}
ログイン後にコピー

関連推奨事項:テキストを使用して訪問数をカウントするメソッド_php ヒント


phpの基礎知識勉強メモ


php+mysql_phpスキルで実装される二次連携メニュー効果を詳しく解説


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

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