【CakePHP】アソシエーションの一時的な解除(unbindModel)
バージョン:CakePHP 2.2.2
モデルで「belongsTo」や「hasMany」などを指定している場合に、
一時的にアソシエーションを解除する場合はunbindModelを使用します。
既にアソシエーションを定義している時に、取得するデータ量を減らしたい場合などに有効です。
$this->モデル名->unbindModel(array( 'hasOne'=>array('モデル名'), 'hasMany'=>array('モデル名'), 'belongsTo' => array('モデル名'), 'hasAndBelongsToMany' => array('モデル名'), ) );
下記のようにモデルを複数指定することもできます。
$this->モデル名->unbindModel( array( 'hasMany'=>array('モデル名1','モデル名2'), ) );
また、パラメーターにfalseを指定すると「unbindModel」で設定した情報が残ります。
$this->モデル名->unbindModel( array( 'hasMany'=>array('モデル名1','モデル名2'), ), ,false );
※アソシエーションを追加したい場合にはbindModelを使用します。
▽参考
公式ドキュメント(アソシエーション: モデル同士を繋ぐ)