自分への覚え書きです。
CakePHPでテーブルに保存できないときのチェックポイント。
バリデートが通っていないかチェックしろ。
まじめにモデルにバリデートの設定をしていたらはまりました。Model::sate()の2番目の引数は、バリデートをするかの引数です。falseにすればバリデートを無視します。CakePHPのモデルのソースを読んでいたら見つけました。
ソースでは以下のような感じ。
$this->Model->id = $id;
$Model['Model']['flg'] = '9';
$Model['Model']['mail'] = 'xxxxxxx_' . $user_mail;
$Model['Model']['url'] = 'xxxxxxx_' . $user_url;
// mailとurlはモデルのバリデートにしたがっていないので、バリデーションはOFFにする。
if ($this->Model->save($Model, false)) {
}