cakephp cakedc之间
我想使用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
'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;字体大小:粗体;'
)
);
?>我曾经尝试过使用他们的搜索插件,但是放弃了。我相信那些家伙的思维方式比我强。不过,我打算回来再试一次。。。。很快!我曾经尝试过使用他们的搜索插件,但是放弃了。我相信那些家伙的思维方式比我强。不过,我打算回来再试一次。。。。很快!