スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
このエントリーをはてなブックマークに追加

[cakePHP]部分的なアソシエーション

例えば独自のテーブルの形を使っており、保存の時だけ複数モデル(複数テーブル)に大して同時に保存を行うケースでは有効な手段です。

この場合は一部だけアソシエーションを解除・設定します。
設定には bindModel();
解除には unbindModel(); を使います。
※この関数はfindやsaveの直前で使います。
※この直前で使われたfindまたはsaveにのみ作用します。
//AAAモデルのBBBモデルとの間にあるhasManyの関係を解除する
$this->AAA->unbindModel(array('hasMany' => array('BBB')));
$this->AAA->find('all'); //このfindの時だけ適用される
$this->AAA->find('all'); //このfindでは元に戻る


//AAAモデルにBBBモデルとhasManyの関係を設定する
$this->AAA->bindModel(array('hasMany' => array('BBB')));
$this->AAA->find('all'); //このfindの時だけ適用される
$this->AAA->find('all'); //このfindでは元に戻る



参考URL1:CakePHPのbindModelとunbindModel
参考URL2:アソシエーション: モデル同士を繋ぐ - 直接アソシエーションを生成、削除する
このエントリーをはてなブックマークに追加

tag : cakephp 2.x find save model アソシエーション 一時 bindModel unbindModel

コメントの投稿

非公開コメント

Translation


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

チーズくん

Author:チーズくん
個人的メモをただ羅列しています。
twitter:@cheese1038

バロメーター
最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。