初めての[CakePHP2.x]での開発、そして挫折するまで日記~その24 $this->Model->Saveがうまくいかないとき

CakePHP

CakePHP

Postされたデータをsaveメソッドで

DBに保存するのですが、

今回ハマったのでメモしておきます。

スポンサードリンク

saveメソッドでデータが保存できない

フォームからデータを入力して

Postしたら保存ができない・・・

validateErrorsで確認すると

バリデーションエラーが出てました。

しかし、Postするフォームにはその項目がない・・・

一つのカラムを更新するのに

他の複数のカラムのバリデーションが影響したためでした。

かといって他のバリデーションのルールは変えられないし

そんな感じで詰まってました。

解決方法

解決方法は簡単でした。

saveメソッド時にバリデーションを解除すればよかったです。

save($this->request->data(), false)

第2引数にfalseを付けるだけでよかったんです。

falseを付けるとバリデーションが解除されます。

本当は個別にバリデーションを解除したりするのがいいのでしょうが

今回は別にいらなかったのでfalseで解除しました。

個別にバリデーションを解除する方法

CakePHP2 実践入門 (WEB DB PRESS plus)

新品価格
¥3,110から
(2015/1/27 23:08時点)

スポンサードリンク

コメントを残す

サブコンテンツ

このページの先頭へ