2017年04月 / 03月≪ 123456789101112131415161718192021222324252627282930≫05月

--'--.-- (--)

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--:--  |  スポンサー広告  |  EDIT  |  Top↑

2008'02.19 (Tue)

[CakePHP]Model->create()とModel->set()

モデルを連続でsave()してデータを作成するときはcreate()でIDをクリアする必要があるらしい.
モデルに更新するデータの設定には

$this->Model->set()

というのもあるんだけど,こっちはデータのマージをするようで,
たとえば,「aaa」「bbb」「ccc」というレコードを持つモデルを作成するときに
すでに「aaa=1」「ccc=3」というデータがある状態で
「aaa=2」「bbb=4」をset()すると,「aaa=2」「bbb=4」「ccc=3」として作成しにいくようだ.

それに対して

$this->Model->create()

だと,実行後は「aaa=2」「bbb=4」だけが存在し,「ccc」は存在しない.
よって作成されたデータに「ccc」は設定されない.


と,調べた結果がこんなところ.違ってたらごめん・・・.
データを連続で更新するときも前のデータ用の変数が残ってる場合があるからsave()を使う前はcreate()を初期化を兼ねて使っとくのがいいのかなぁって思いました.
関連記事
スポンサーサイト

タグ : CakePHP

23:31  |  ぷろぐらみんぐ→PHP  |  TB(0)  |  CM(1)  |  EDIT  |  Top↑

Comment

・・・??
 | 2011年04月26日(火) 15:53 | URL | コメント編集

コメントを投稿する


管理者だけに表示

▲TOP

Trackback

この記事のトラックバックURL

この記事へのトラックバック

 | HOME | 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。