[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】toolbarを非表示
【baserCMS】toolbarを非表示

画面上部にひょこっと、[デバッグモード1]とか表示されるアレを削除、非...

[baserCMS]Router::connectが効かない
[baserCMS]Router::connectが効かない

baserCMSというよりCakePHPの話かも知れないんだけど、 c...

2017年9月 さくらのVPS、LAMP(CentOS7)、SSL、etcセットアップ
2017年9月 さくらのVPS、LAMP(CentOS7)、SSL、etcセットアップ

基本的にhideichiの備忘録です。 色んな記事を参考にしながら作っ...

[PHP]urlを指定してtitleとrssを抜き出すサンプル
[PHP]urlを指定してtitleとrssを抜き出すサンプル

URLを指定して、タイトルとRSSフィードURLを抜き出すサンプル。 ...

[baserCMS]CSRF対策によるエラーです。
[baserCMS]CSRF対策によるエラーです。

CSRF対策によるエラーです。リクエストに含まれるCSRFトークンが不...

→もっと見る

PAGE TOP ↑