二つのテーブルが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);
LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。