我确信对此有一个非常简单的答案,但我没有看到它!
我正在使用 cakeDC 搜索并希望添加一个固定条件,以便Listing.status_code = drafts
永远不会在返回的搜索中显示。
我在这里看过:但是由于该字段没有直接链接到表单输入,因此我不确定如何将其作为 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");
}
}