cakePHP DBに特定のフィールドだけ保存されないとき・・・
ちょくちょく陥る「あれ・・・?」という事態。
僕の場合は、DBへ新しく追加したフィールドになんでか値が登録されない というのが多いです。その時用のチェックリストを更新してみました。
その1 $this->dataに入ってる??
ホントに初歩ですね。。他の値は全部$this->dataにいれて保存してるのに、新しいのだけ入れ忘れ||書き間違い。
それにくわえて、フォームにhiddenで渡しているのを忘れてた てのもありました。
その2 validateで弾かれてません??
モデルにvalidateを書いていたのに、自分がそれに違反してた。エラーメッセージが表示されないような遷移だったりフォームに入れてなかったりしてると、意外に気がつきにくい。。
その3 whitelistに入ってないんじゃ・・・??
該当するフィールドだけを登録するwhitelist。気合い入れてかっちり作っていたら、新しく追加したのはまだ含めてなかった というオチ。
その4 キャッシュが残ってたり・・・
これが今回リストを更新することになった原因!!
どうにも保存できなくて、もはや寝入る以外に方法がないと思っていたら、こちらに記載されていました。
cakePHP 技術メモ save()で保存できない場合
/tmp/cache/models 以下にあるcacheを削除する というもの。
そんな理由ってあんのかよ〜〜って思って消したら、あっさり解決しました。。ぐはっ。この方同様ほぼ1日の時間が・・・。
も、もう悩まないぞ!きっと!たぶん!