スポンサードリンク

CakePHP
CakePHP

以前、アソシエーションを一時的に

外すことはしたのですが、

(CakePHP2.x) アソシエーションを一時的に外すunbindModelの使い方

今回は一時的にアソシエーションをさせる方法です。

スポンサードリンク

bindModelを使う

$this->Model->bindModel(array(
    'belongsTo' => array('Modelname'),
    'hasMany' => array('Modelname'),
    'hasAndBelongsToMany' => array('Modelname')
    )
);

基本的にはunbindModelと同じ使い方です。

findをする前にbindModelを使ってアソシエーションさせます。

こうすると、使いたいときだけアソシエーションさせて

データを取得することができます。

このbindModelもunbindModelと同じで

次に行うfindのみのアソシエーション有効になります。

第2引数にfalseを使えば

引き続きアソシエーションは有効になります。

$this->Model->bindModel(array(
      'belongsTo' => array('Modelname'),
      'hasMany' => array('Modelname'),
      'hasAndBelongsToMany' => array('Modelname')
      ),false
);

CakePHP Cookbook v2.x アソシエーション: モデル同士を繋ぐ

スポンサードリンク