cake でのデータの insert と update

悩んでうーんといって
適当にやったら いってしまった
ついでにググったらすぐでてきてダブルパンチorz

まあ一応メモしておこう。

基本はこう

$data[‘モデル名’][‘カラム名’]

という形でデータを突っ込んであげて

$this->モデル名->save($data,true)

これでOK
第二引数は varidate するかどうかのチェックなので、falseにすれば varidate をしません。

ここまではマニュアルに書いてあったんだけど
これじゃあ insert だけじゃんか!
と思って・・・

で実は内部で cake 自動判別していて
モデルのID列が配列に

・入っていなければ -> insert
・入っていれば   -> Update(そのID列)

となっているようです。

つまりUpdateしたければこう

$data[‘モデル名’][‘id’] = 更新するレコードのID;

というのを足せばOk

ちなみにそのID列もarray()で複数与えてあげれば
IN句みたいに複数 update してる ッポイ(未確認)

まだまだ一人前に使いこなせないですな。。。

Leave a Reply