[CakePHP] hasOne, belongsTo, hasManyの保存

| | コメント(0) | トラックバック(0)

CakePHPのリファレンスによると、

hasOne, belongsTo, hasMany で関連付けられているモデルを保存するのは非常に簡単です。関連するモデルの ID と、外部キーのフィールドを設定するだけです。そのあとモデルの save() メソッドを呼べば、つながっているすべてのものが正しく組み立てられます。6.4 アソシエーション

とあるので、

function edit(){
    if (!empty($this->data)){
        if ($this->Profile->save($this->data)){
            $this->flash('更新完了', '/posts');
return;
}
}
}

のようなコードを書けばProfileにblongsToでつながったUserも更新できると思ったら、そうでもないらしい。
$this->Post->save($this->data))
というのは、
$this->data から該当するデータを参照しつつ、「Postテーブルに」書き込む、という命令です。"hasOneとbelongsTo後のsave" フォーラム - CakePHP Users in Japan
ということらしく、いくらhasOneやhasMany、belongsToなどで関連付けされても、データの更新時(UPDATE)はそれぞれのモデルに対してsaveを行う必要があるらしい。
 

トラックバック(0)

このブログ記事を参照しているブログ一覧: [CakePHP] hasOne, belongsTo, hasManyの保存

このブログ記事に対するトラックバックURL: http://mtos.snufkins.net/mt-tb.cgi/979

コメントする

あわせて読みたいブログパーツ

このブログ記事について

このページは、snufkinが2007年12月 6日 09:36に書いたブログ記事です。

ひとつ前のブログ記事は「VAIO PCG-C1 にFreeBSDをインストール」です。

次のブログ記事は「clearfix -ボックスをボックスからはみ出させないために-」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。