[cakephp] saveできない時のチェックリスト

2015/04/01 | 開発記録 | hideichi

save されない、
update できない、
などなど、「あれ?」という時にチェックする一覧を作ってみました。

1、$this->data に値が入っていない
初歩ですね。var_dumpでチェック。

2、validate に弾かれている。
save の第2引数に falseを入れるとvalidateを無視できるらしいので、試しにやってみる。

$this->save($data, false)

3、whitelist が設定されている。
設定されているフィールドだけ更新するというものらしい。
これが設定されている場合、入っていないと更新されない。

4、キャッシュが残っている。
フィールド名を変えたりした場合なんかは特に、キャッシュを削除しないと更新されない。
/tmp/cache/models
この中身を消す。

5、saveで上書きしている。
一つの処理に二つ以上のsaveがあって、後のsaveで前のsaveを上書きしている。
saveの第3引数に、更新するフィールドを明示することで回避できる。

$this->id = $id;
$fields = array('name');
$this->save($data, false, $fields);

今回は5にやられた。
まあ、コードは見通しよく、綺麗に書きなさい。
っていう事なんだろうけどさ!

前の記事:

次の記事:

2015/04/01 | 開発記録

コメント/トラックバック

トラックバック用URL:

この投稿のコメント・トラックバックRSS




管理人にのみ公開されます

前の記事:

次の記事:

[baserCMS]blackHoleに吸い込まれてページが見つかりません
[baserCMS]blackHoleに吸い込まれてページが見つかりません

ページが見つかりません デバッグモード エラー: The reques...

baserCMSプラグイン開発要約
baserCMSプラグイン開発要約

http://basercms.net/manuals/3/progr...

無印MacBookの後悔を公開
無印MacBookの後悔を公開

MacBook (Retina, 12-inch, Early 201...

ドコモの赤チャリに乗ってみた
ドコモの赤チャリに乗ってみた

東京自転車シェアリング。 http://docomo-cycle.jp...

AUポイントを移行
AUポイントを移行

諸事情がありまして、AUから撤退します。 iphoneからandroi...

→もっと見る

PAGE TOP ↑