Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
cakephp cakedc之间_Cakephp_Cakedc - Fatal编程技术网

cakephp cakedc之间

cakephp cakedc之间,cakephp,cakedc,Cakephp,Cakedc,我想使用cakedc的“中间”示例,但无法理解 'range' => array('type' => 'expression', 'method' => 'makeRangeCondition', 'field' => 'Article.views BETWEEN ? AND ?'), 我的表中有字段qca_start,希望用户提供两个值(from、to),并在from和to之间搜索qca_start 我的控制器: (我使用过其他更简单的搜索,没有问题。(这里的员工id

我想使用cakedc的“中间”示例,但无法理解

'range' => array('type' => 'expression', 'method' => 'makeRangeCondition', 'field' => 'Article.views BETWEEN ? AND ?'),
我的表中有字段qca_start,希望用户提供两个值(from、to),并在from和to之间搜索qca_start

我的控制器: (我使用过其他更简单的搜索,没有问题。(这里的员工id很好用)

}); 我的表格上的字段是qca_start,而不是user我该如何命名该字段的预设值

在我的模型上

public $filterArgs = array(
array('name' => 'employee_id', 'type' => 'value'),
    'range' => array('type' => 'expression', 'method' => 'makeRangeCondition', 'field' => 'Article.views BETWEEN ? AND ?'),
))

我不知道如何设置filterArgs的格式:

'range' => array('type' => 'expression', 'method' => 'makeRangeCondition', 'field' => 'Article.views BETWEEN ? AND ?'),
我希望qca_开始在搜索值1和2之间


你能帮忙吗?

你应该读一下文档@

如果要添加将 通过某种方法生成,条件字段包含多个参数 与之前用于“范围”的示例相同。这里的字段包含 "文章,观点??和?文章::makeRangeCondition 返回两个值的数组

因此,只需在方法中返回2个值:

public function makeRangeCondition() {
    ...
    return array($from, $to);
}

他们会自动替换这两个吗?那么按照这个顺序。

你应该阅读文档@

如果要添加将 通过某种方法生成,条件字段包含多个参数 与之前用于“范围”的示例相同。这里的字段包含 "文章,观点??和?文章::makeRangeCondition 返回两个值的数组

因此,只需在方法中返回2个值:

public function makeRangeCondition() {
    ...
    return array($from, $to);
}

他们会自动替换这两个吗?按照这个顺序。

从我给出的答案中复制/粘贴一份@

在模型中:

        'creationDateBetween'       => array(
            'type'      => 'expression',
            'method'    => 'CreationDateRangeCondition',
            'field'     => 'MODEL.creationdate BETWEEN ? AND ?',
        ),

public function CreationDateRangeCondition($data = array()){
    if(strpos($data['creationDateBetween'], ' - ') !== false){
        $tmp = explode(' - ', $data['creationDateBetween']);
        $tmp[0] = $tmp[0]."-01-01";
        $tmp[1] = $tmp[1]."-12-31";
        return $tmp;
    }else{
        return array($data['creationDateBetween']."-01-01", $data['creationDateBetween']."-12-31");
    }
}
视图:请注意,我使用的是一个滑块来表示年份范围

    echo $this->Form->input('creationDateBetween', 
    array(
        'label'     => __('Creation date between X and Y'),
        'div'       => false,
        'style' => 'border: 0; color: #49AFCD; font-weight: bold;'
    )
);

?><div id="creationDateBetweenSlider" style="padding:0;"></div><?php
echo$this->Form->input('creationDateBeween',
排列(
“label'=>”(创建日期在X和Y之间),
'div'=>false,
'样式'=>'边框:0;颜色:#49AFCD;字体大小:粗体;'
)
);

?>我给出的答案的副本/粘贴@

在模型中:

        'creationDateBetween'       => array(
            'type'      => 'expression',
            'method'    => 'CreationDateRangeCondition',
            'field'     => 'MODEL.creationdate BETWEEN ? AND ?',
        ),

public function CreationDateRangeCondition($data = array()){
    if(strpos($data['creationDateBetween'], ' - ') !== false){
        $tmp = explode(' - ', $data['creationDateBetween']);
        $tmp[0] = $tmp[0]."-01-01";
        $tmp[1] = $tmp[1]."-12-31";
        return $tmp;
    }else{
        return array($data['creationDateBetween']."-01-01", $data['creationDateBetween']."-12-31");
    }
}
视图:请注意,我使用的是一个滑块来表示年份范围

    echo $this->Form->input('creationDateBetween', 
    array(
        'label'     => __('Creation date between X and Y'),
        'div'       => false,
        'style' => 'border: 0; color: #49AFCD; font-weight: bold;'
    )
);

?><div id="creationDateBetweenSlider" style="padding:0;"></div><?php
echo$this->Form->input('creationDateBeween',
排列(
“label'=>”(创建日期在X和Y之间),
'div'=>false,
'样式'=>'边框:0;颜色:#49AFCD;字体大小:粗体;'
)
);

?>我曾经尝试过使用他们的搜索插件,但是放弃了。我相信那些家伙的思维方式比我强。不过,我打算回来再试一次。。。。很快!我曾经尝试过使用他们的搜索插件,但是放弃了。我相信那些家伙的思维方式比我强。不过,我打算回来再试一次。。。。很快!