【发布时间】:2018-10-23 21:01:12
【问题描述】:
返回单个结果,更多组合不返回结果。
执行搜索我会得到单个字段的结果,而不是为两个没有结果设置一个值。我怎样才能两者兼得?
我的错误是什么?感谢您的帮助
在我使用的搜索表单中SliderField
class HomePage_Controller extends Page_Controller {
//...
public function index(SS_HTTPRequest $request)
{
$properties = Solutions::get();
if($visibility = $request->getVar('Visibility'))
{
$properties = $properties->filter(array(
'Solution:ExactMatch' => array('Visibility'),
'Score:LessThanOrEqual' => $visibility
));
}
if($traffic = $request->getVar('Traffic'))
{
$properties = $properties->filter(array(
'Solution:ExactMatch' => array('Traffic'),
'Score:LessThanOrEqual' => $traffic
));
}
return array
(
'Results' => $properties->sort(array('Score' => 'DESC', 'Solution' => 'ASC'))
);
}
public function SolutionForm()
{
$form = Form::create(
$this,
__FUNCTION__,
FieldList::create(
SliderField::create('Visibility','', 0, 100)
->addExtraClass('range-slider__range')
->setAttribute('type', 'range')
->setAttribute('min', '0')
->setAttribute('max', '100')
->setAttribute('step', '25')
->setValue('25'),
SliderField::create('Traffic','', 0, 100)
->addExtraClass('range-slider__range')
->setAttribute('type', 'range')
->setAttribute('min', '0')
->setAttribute('max', '100')
->setAttribute('step', '25')
->setValue('0')
),
FieldList::create(
FormAction::create('doSolutionsSearch','')
->setUseButtonTag(true)
->setTitle('YOUR SOLUTION')
->addExtraClass('button-solution')
)
);
$form->setFormMethod('GET')
->setFormAction($this->Link('#home'))
->disableSecurityToken()
->loadDataFrom($this->request->getVars());
return $form;
}}
【问题讨论】:
标签: php search filter orm silverstripe