初めての[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

CakePHP2実践入門 (WEB+DB press plusシリーズ) [ 安藤祐介 ]

価格:3,110円
(2019/9/21 06:25時点)
感想(0件)

スポンサードリンク

コメントを残す

サブコンテンツ

このページの先頭へ