MEMO REC

雑記帳兼php、mysql、html、css、javascript等の備忘録です。

【FuelPHP】トランザクションの使用例

f:id:gontora:20151007144743p:plain

FuelPHPにおいてDBを使用する上でよく使う割に、
毎回調べているので備忘録としてこちらに残しておきます。

構文

     # トランザクション開始
      \DB::start_transaction();
      # トランザクションコミット
      \DB::commit_transaction();
      # トランザクションロールバック
      \DB::rollback_transaction();

使用例

    try{
        # トランザクション開始
        \DB::start_transaction();

        /******
         追加・更新・削除といったデータ操作処理
        ******/

        # トランザクションコミット
        \DB::commit_transaction();
    } catch(Exception $e){
        # トランザクションロールバック
        \DB::rollback_transaction();
    }

終わりに

以前初めてFuelPHPトランザクションを使用した時に、
全くトランザクションが効かない事があった。

FuelPHPの設定の問題かなとか色々と2時間くらい調べていたが、
結局MySQLのストレージエンジンがMyISAMになっており、
トランザクションが効かないというオチでした。

初めて使ったフレームワークだったので、
フレームワークの設定のせいだと思い込み、
普段なら最初に疑う箇所を見落としていました。

まず落ち着いて考えろという教訓です。