CakePHPのモデル内で、独自のバリデーションメソッドを追加する場合に、自分自身や他のモデルを呼びたいときの書き方。
class Hoge extends AppModel { var $validate = array( 'moreValidation' => array( 'rule' => 'moreValidation', ); var $belongsTo = array( 'Hoge2' => array(〜); );
function moreValidation() { $this->find(〜); $this->Hoge2->find(〜); ClassRegistry::init("Hoge3")->find(〜); } }
- 該当モデル自身を呼び出すときは $this->find(〜)
- アソシエーションしてるモデルは $this->Hoge2->find(〜);
- アソシエーションしてないモデルは ClassRegistry::init("Hoge3")->find(〜);
コメントする