スポンサードリンク

Postされたデータをsaveメソッドで
DBに保存するのですが、
今回ハマったのでメモしておきます。
スポンサードリンク
saveメソッドでデータが保存できない
フォームからデータを入力して
Postしたら保存ができない・・・
validateErrorsで確認すると
バリデーションエラーが出てました。
しかし、Postするフォームにはその項目がない・・・
一つのカラムを更新するのに
他の複数のカラムのバリデーションが影響したためでした。
かといって他のバリデーションのルールは変えられないし
そんな感じで詰まってました。
解決方法
解決方法は簡単でした。
saveメソッド時にバリデーションを解除すればよかったです。
save($this->request->data(), false)
第2引数にfalseを付けるだけでよかったんです。
falseを付けるとバリデーションが解除されます。
本当は個別にバリデーションを解除したりするのがいいのでしょうが
今回は別にいらなかったのでfalseで解除しました。
スポンサードリンク