ひとりまとめ

もろもろのメモ

cakePHP DBに特定のフィールドだけ保存されないとき・・・

ちょくちょく陥る「あれ・・・?」という事態。
僕の場合は、DBへ新しく追加したフィールドになんでか値が登録されない というのが多いです。その時用のチェックリストを更新してみました。

その1 $this->dataに入ってる??

ホントに初歩ですね。。他の値は全部$this->dataにいれて保存してるのに、新しいのだけ入れ忘れ||書き間違い。
それにくわえて、フォームにhiddenで渡しているのを忘れてた てのもありました。

その2 validateで弾かれてません??

モデルにvalidateを書いていたのに、自分がそれに違反してた。エラーメッセージが表示されないような遷移だったりフォームに入れてなかったりしてると、意外に気がつきにくい。。

その3 whitelistに入ってないんじゃ・・・??

該当するフィールドだけを登録するwhitelist。気合い入れてかっちり作っていたら、新しく追加したのはまだ含めてなかった というオチ。

その4 キャッシュが残ってたり・・・

これが今回リストを更新することになった原因!!
どうにも保存できなくて、もはや寝入る以外に方法がないと思っていたら、こちらに記載されていました。
cakePHP 技術メモ save()で保存できない場合

/tmp/cache/models 以下にあるcacheを削除する というもの。
そんな理由ってあんのかよ〜〜って思って消したら、あっさり解決しました。。ぐはっ。この方同様ほぼ1日の時間が・・・。



も、もう悩まないぞ!きっと!たぶん!