CakePHP

CakePHP2.xでトランザクションする方法。

2015/01/11

DBに登録する時に使う、トランザクションですが、CakePHP2.xでの方法です。
こちらも Cake1.3とそう変わりませんが、忘備録としてポストです。

CakePHP2.3.6で試しています。

トランザクション - CakePHP Cookbook v2.x documentation
http://book.cakephp.org/2.0/ja/models/transactions.html

には、

トランザクションを実行するには、テーブルの種類がトランザクションをサポートしている必要があります。

全てのトランザクションメソッドは、モデルのデータソースオブジェクトが実行しなければなりません。モデルの内部でデータソースを取得するには、以下を使用してください。

これで、データソースを用いてトランザクションを開始・コミット・ロールバックすることができるようになりました。

とありました。

そのつどデータソースを取得して、ってのはちょっと面倒なので、以下のようにしてみました。
AppModel.phpに以下を記述。

んで、使いたいところで下記を記述すれば、
beginで開始、commitで完了、rollbackでロールバックが可能。

[tgAmazonItemLookup asin="B003BS1D22" related="1"]

-CakePHP
-, ,