我有以下型号:
- 公司(ID,名称)
- Employee(id, name, company_id, isRemoved) [公司有很多员工]
在指定的关联中,员工有一个默认条件,即
public $hasMany = array(
'Employee' => array(
'className' => 'Employee',
'foreignKey' => 'company_id',
'dependent' => true,
'conditions' => array(
'Employee.isRemoved' => 0
),
)
);
该关联具有不删除员工的默认条件。我在公司上使用以下查找查询来仅获取名称与字符串匹配的员工:
$this->Company->find('all', array(
'contain' => array(
'Employee' => array(
'conditions' => array(
'Employee.name LIKE' => '%'.$search_text.'%')
),
'fields' => array('Employee.id, Employee.name')
)
)
));
我面临的问题是,当我在包含中使用条件时,不应用关联中指定的默认条件,当未指定条件键时,应用关联中指定的默认条件。
这是 Cakephp 的默认行为吗?如何处理?我正在使用 Cakephp 2.8.4