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

  関連記事

リテラル

プログラムのソースコード中に使用される定数のこと。「255」「fujiyama」 …

dotCloudにPHPMyFAQを入れてみる。

dotCloudにプロジェクトとDBは作った状態から開始。 phpMyFAQは2 …

プログラミングPHP 第10章(PDF)ポイント

FPDF(マルチバイト対応はMBFPDF)ライブラリを利用する。(同梱されていな …

【wkhtml】PHPで、WEBサイトキャプチャ取得と、指定サイズにリサイズするクラス作成

先の記事で、wkhtmlで切り抜き(トリミング)は良いけど、画像全体のサイズの調 …

php-develとは

devel系はphp-develとか前につくモジュール(ここではphp)を拡張す …