Web無料相談会2018冬
Web無料相談会2018冬
2010.01.26

HABTMで相手のテーブルのフィールドを指定する

まっちー

二つのテーブルがHABTMで関連づいている場合、関連づいている相手のテーブルのフィールドを指定するには、コンテイナブルというビヘイビアを使うと良いらしい。

ビヘイビアを使用するには、モデルにビヘイビアの指定を追加しても良いし、特定の箇所でしか使わないような場合はコントローラーで追加しても良い。

//modelで追加する場合
class User extends AppModel {

 € € € var $actsAs = array('Containable');

}

//controllerで追加する場合
$this->User->Behaviors->attach('Containable');

例えばUserとTagがHABTMで関連づいているとしたら、以下のような感じでフィールドを指定する。

$params = array('contain' => array('Tag.id', 'Tag.name'));

$this->User->find('all', $params);