CakePHPで楽観ロックを実現するビヘイビア

CakePHP1.2.xにはビヘイビアというやつがあり、
モデルにmixin的な事ができる。(というかそのもの)


で、楽観ロックをするビヘイビアを作ってみた。

var $actAs = array("versioned");
って書けば、modifiedカラムが楽観ロックのバージョンとなる。(意味合ってるかな・・・)


エラーメッセージは↓という具合で変えられる。
var $actAs = array("versioned" => array("message" => "誰かが更新してるよ。"));


modified以外のカラムでもOK
var $actAs = array("versioned" => array("column" => "version_no"));
これで、version_noでバージョン管理するようになる。
modifiedとupdated以外を指定した場合、カラムは数値型である前提で処理されるので注意。
modifiedとupdatedの場合は、DATETIME。


ダウンロード