[CakePHP]model.phpのコンストラクタ

modelで保存や参照前に何か実行させたいときにはbeforeSave()などのコールバック関数がありますが、なぜかモデル生成時のコールバックはありません。
ということで、

class AppModel extends Model{
   function __construct() {
        parent::__construct();
        //なにか処理
    }
}

こんな感じで書いてみましたがダメ!
正解は

class AppModel extends Model{
   public function __construct($id = false, $table = null, $ds = null) {
        parent::__construct($id, $table, $ds);
        //なにか処理
    }
}

まぁ、クラスをオーバーライドするときは元になるクラスに目を通しましょう…という基本的なことですね(苦笑)
この場合は”/lib/Cake/model/model.php”になります。

タイトルとURLをコピーしました