【发布时间】:2018-08-23 07:48:59
【问题描述】:
我正在使用带有 `presetDropdown' 选项的 Kartiks DateRangePicker。这为搜索提供了一些默认值,例如今天、昨天、过去 7 天等。
生成选择器的代码:
echo DateRangePicker::widget([
'model'=>$model,
'attribute' => 'created_at',
'useWithAddon'=>true,
'convertFormat'=>true,
'presetDropdown'=>true,
'hideInput'=>true,
'startAttribute' => 'start',
'endAttribute' => 'end',
'pluginOptions'=>[
'locale'=>['format' => 'Y-m-d'],
]
]);
SearchItem 类:
$this->start = strtotime($this->start);
$this->end = strtotime($this->end);
$query->andFilterWhere(['>=', 'created_at', $this->start])
->andFilterWhere(['<', 'created_at', $this->end]);
我遇到的问题是当使用today 或yesterday 选项时,它会产生以下查询:
SELECT * FROM `item` WHERE (`created_at` >= 1534896000) AND (`created_at` < 1534896000)
所以它正在查询在上午 12 点创建的项目。有没有人知道它可能是什么,很确定它不是默认行为,所以一定是我做错了。
【问题讨论】: