我的 GridView 中有几个下拉过滤器,在我的模型的搜索部分中,我有:
if ($this->agent_primary != "") {
$criteria->addColumnCondition(array('agent_type_id'=>1, 'agent.agent_id'=>$this->agent_primary));
}
if ($this->agent_voice != "") {
$criteria->addColumnCondition(array('agent_type_id'=>2, 'agent.agent_id'=>$this->agent_voice));
}
if ($this->agent_commercial != "") {
$criteria->addColumnCondition(array('agent_type_id'=>3, 'agent.agent_id'=>$this->agent_commercial));
}
我需要以某种方式将其结合起来,因此如果有人选择三个下拉列表中的两个(或全部三个),他们会得到正确的结果,目前 sql 在每个 addColumnCondition 的单独括号中都有 WHERE:
WHERE (condition1a = a AND condition1b = b) AND (condition2a = a AND condition2b = b)
代替
WHERE (condition1a = a AND condition1b = b) OR (condition2a = a AND condition2b = b)