For Want Of A Better Word

[Cake]CakePHPで意識の低いトランザクション commit rollback

   

cakeで複数のテーブルにまたがったトランザクション管理をしたい。

 

ただ、個人的にcakephpを使うとき、あまり規約に従って作ってなくて、db操作もmodel->query()を使いまくっている。

そのときにcommitとかrollbackとか、どうすれば出来るべなと確認。

やり方

基本的にはやっぱりquery()でbeginとかcommitとか発行すればOK。

#Modelにメソッドを用意

#Controller

 

ちなみに、cakeでもExceptionは普通のtry catchでOK。

#例外があったらfalse

#例外があったら、そのまま例外を投げる。

こっちだと、上でtry-catchで拾えてcommit,rollbackの制御が出来る。

 

またトランザクション中にハンドリングしていない例外が発生しても、コミットはされない。よかた。

 

 

 - cake, php

  関連記事

[PHP][PDO]prepareでのバインド方法整理

データをstmtに渡す部分をちょくちょく待ちがえて混乱するのでメモ 参考:htt …

辞書順比較・数値順比較・自然順の違い

Contents1 辞書順と数値順2 (補足)辞書順で、「文字と数字」 「大文字 …

【Cake】一般用テーブルと、管理用テーブルを分ける場合のログイン(Auth)の使い方・整理

まず1つサービス・ログイン機能 これは ①Userテーブル、UserModel、 …

【PHP】【Slim】DBの利用は自力で頑張る!

公式の説明とか、サイトを眺めましたが特別O/Rマッパーのような機能は無く。 自分 …

WordPressで作ったページと同じデザインで、好きなコンテンツを好きな場所に作りたい

下記のわがままをかなえるため、調査 そもそも、wordpressでブログを作った …