我确信有一个非常简单的答案,但我没有看到它!
我正在使用cakeDC搜索并希望添加固定条件,以便Listing.status_code = drafts
永远不会显示在返回的搜索中。
我看过here:但由于这个字段没有直接链接到表单输入,我不确定如何将它作为AND语句绑定到过滤器中?
到目前为止,这是我的代码:
public $filterArgs = array(
'long_name' => array('type' => 'like','empty','true'),
'issue' => array('type' => 'like','empty','true'),
'page_quality_id' => array('type' => 'value','empty','true'),
'series_id' => array('type' => 'value','empty','true'),
'coverDateBetween' => array(
'type' => 'expression',
'method' => 'CoverDateRangeCondition',
'field' => 'Listing.cover_date BETWEEN ? AND ?',
),
);
public function CoverDateRangeCondition($data = array()){
if(strpos($data['coverDateBetween'], ' - ') !== false){
$tmp = explode(' - ', $data['coverDateBetween']);
$tmp[0] = $tmp[0]."-01-01";
$tmp[1] = $tmp[1]."-12-31";
return $tmp;
}else{
return array($data['coverDateBetween']."-01-01", $data['coverDateBetween']."-12-31");
}
}