我的包含是可行的,但我需要从HABTM关系中添加一个条件。
公司与State(companies_states table)有HABTM关系。
在下面的方法中,我需要检查state_id = 1(参见我的注释条件)。我不确定如何在我的Containable中包含companies_states,以便我可以对结果进行限定。
function company_list() {
return $this->PlanDetail->find('all', array(
'fields' => array('id', 'company_id'),
'contain' => array('Company' => array(
'fields' => array('id', 'name', 'short_name')),
'State' => array(
'fields' => array('id')
)
),
//'conditions' => array('state_id' => 1),
'group' => 'Company.name',
'order' => array('Company.name ASC')
));
}
答案 0 :(得分:0)
我认为你不应该做任何特别的事情......只需在state_id
前添加公司function company_list() {
return $this->PlanDetail->find('all', array(
'fields' => array('id', 'company_id'),
'contain' => array('Company' => array(
'fields' => array('id', 'name', 'short_name')),
'State' => array(
'fields' => array('id')
)
),
'conditions' => array('Company.state_id' => 1),
'group' => 'Company.name',
'order' => array('Company.name ASC')
));
}