我尝试构建自定义搜索表单并在某些日期范围内过滤结果:
$form = BootstrapForm::create (
$this,
'LetterSearchForm',
FieldList::create (
DateField::create('Sent_After','Sent After'),
DateField::create('Sent_Befor','Sent Before')
...
),
...
);
public function index (SS_HTTPRequest $request)
{
$letters = Letter::get()->sort('DateUpload');
if($search = $request->getVar('Sender')) {
$letters = $letters->filter(array(
'Sender:PartialMatch' => $search
));
}
if ( $search1 = $request->getVar('Sent_After') && $search2 = $request->getVar('Sent_Befor'))
{
What must be here?
}
}
}
我可以在这里使用像InsideRangeFilter这样的东西吗?
答案 0 :(得分:3)
我不知道任何范围过滤器,但根据the documentation,您可以使用以下内容:
$dateFilteredList = $letters->filter(array(
'DateUpload:LessThanOrEqual' => $search2, // Sent_Befor
'DateUpload:GreaterThanOrEqual' => $search1 // Sent_After
));
我用上面的代码做了一些假设:
DateUpload
是您尝试过滤的日期字段。您可能需要相应地进行编辑。
希望这就是你要找的东西:)