タグ

CakePHPとsaveに関するt_yodoのブックマーク (1)

  • 『cakePHP: save関連のメソッドの挙動』

    順調に趣味のサイトをcakePHPにて開発しいたが、どうしてもsave関連のメソッドの挙動が気にくわない save($data) $data中にprimary_keyが存在すればupdate, 無ければinsert で、insertの方には問題がないが、updateの場合は$data[id]がテーブル上に存在し無ければ、insertしてくれるというお節介を起こす。 update前に、SELECT COUNT(*) FROM MODEL WHERE ID=IDって問い合わせしている。 そもそもUPDATE後に、affected_rowsで調べるのでは、ダメなんだろうか? 例えば、find, read等で行を取得。 テーブルをLOCKした上で、取得したなら問題ないが、save等で保存するまでの間に、該当行が削除されてしまった場合、予想外にinsertされてしまう。 これは、saveFieldで

    t_yodo
    t_yodo 2010/09/09
    save()でtrueが返ってくるけど更新失敗、というケースもあるらしい。これは大きな発見。ユニーク違反等のときにハマるかもしれない。
  • 1