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

  関連記事

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

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

[ruby][php]Excel出力操作の方法

Excel出力が要件としてもとめられた、言語は問わない、WEBではなくバッチで。 …

[php]ログインセッションの維持・有効期間について (session,cookie)

cookieとsessionファイルと、登場人物が複数いるので、どこに何を設定す …

CentOSをインストールしたときにいつも最初にやること(apache mysql phpのインストール)

SElinuxの無効化 iptableの無効化 apacheのインストール・自動 …

【メモ】simple_html_parserの使い方リンク

[インストール~DOMオブジェクトの取得] http://so-zou.jp/w …