skillup

技術ブログ

Database PHP

cakeでのトランザクション、コミット、ロールバック

投稿日:2016年5月16日 更新日:

cakePHP(2.X系)でのトランザクション、コミット、ロールバックについて。

cakePHPでトランザクションを書ける場合、Model内に

と書くことが一般的です。
http://book.cakephp.org/2.0/ja/models/transactions.htmlより引用。

ただし、ある程度の規模のWebアプリではトランザクションをスタートしてからコミットするまでに複数のモデルの処理を行うことが一般的です。

上記のソースではモデル内にトランザクション関連の処理を書いておりますが、そうのような処理の場合はトランザクション自体もモデルではなくコントローラー内に書くことになるでしょう。

その場合、トランザクションを管理する独立したモデルを用意しておき、そこから処理をよんだ方がよいでしょう。

ソースを書こうと思いましたが、検索元のリンクのほうがはるかにわかりやすいためリスペクトも込めて、リンクを貼ります。

【CakePHP 2.x】Controller内でトランザクションをかける

その他、参考にしたリンクは下記です。

CakePHPでトランザクション処理

-Database, PHP
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

CakePHP3でのコレクションに関して

プログラミングにおいて基礎となるのは配列、ハッシュの処理とオブジェクト指向の使いこなしです。 配列、ハッシュの処理に関しては自前でメソッドを書いてもよいですが、バグの温床になりやすいので、ライブラリを …

no image

PHPでのPDF出力 基本&日本語出力

今回はPHPでのPDFファイルの出力です。 Contents1 ライブラリ2 ソース3 参考リンク ライブラリ 使うライブラリはFPDFというライブラリです。 http://www.fpdf.org/ …

no image

正規化について&EXTRACT

Contents1 正規化とは?2 第一正規化3 SQLネタ EXTRACT 正規化とは? 正確な定義は難しいですが、8割ぐらいあっている定義としては「適切なテーブルに分割すること」です。※ただし正確 …

no image

拡張子の取得

PHPで配列を取得する場合、下記のメソッドで一気に取得できます。 pathinfo( ファイルパス,PATHINFO_EXTENSION ) いままで正規表現使ったり、explodeでやったりといろん …

no image

SQL基礎 複雑なSQLの組み方

SQLの本を見ますとかなり複雑なSQLが書かれていることが多いです。 これは頑張っても無理では・・・と思っていましたが、ポイントしては 原則として必ず図に書く まずは問題を細かく分割する 細部から切り …

アーカイブ