0

我确信对此有一个非常简单的答案,但我没有看到它!

我正在使用 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");
        }
    }
4

0 回答 0