Это старая версия документа!
В composer.json добавить
"kartik-v/yii2-date-range": "*"В gridView добавить
[
'attribute' => 'created_at',
'label' => 'Дата создания',
'value' => function ($model) {
return date("d.m.Y", strtotime($model->created_at));
},
'filter' => kartik\daterange\DateRangePicker::widget([
'model' => $searchModel,
'attribute' => 'created_at',
'convertFormat' => true,
'useWithAddon' => true,
'language' => 'ru',
'hideInput' => true,
'presetDropdown' => true,
'startAttribute' => 'dateStart',
'endAttribute' => 'dateEnd',
'pluginOptions' => [
'locale' => ['format' => 'd.m.Y', 'cancelLabel' => 'Очистить'],
'separator' => '-',
'opens' => 'left',
'showDropdowns' => true
],
]),
],
В OrderSearch добавить:
<code>
<?php
class OrderSearch extends Order
{
public $dateStart;
public $dateEnd;
public function rules()
{
return [
[['dateStart', 'dateEnd'], 'safe']
];
}
public function search($params)
{
$query = Order::find();
........
if (!$this->validate()) {
return $dataProvider;
}
if (!empty($this->dateStart) AND !empty($this->dateEnd)) {
$dateTimeStart = new \DateTime($this->dateStart);
$dateTimeEnd = new \DateTime($this->dateEnd);
$date_start = $dateTimeStart->format( 'Y-m-d 00:00:00');
$date_end = $dateTimeEnd->format('Y-m-d 23:59:59');
$query->andFilterWhere(['and',
['>=', 'created_at', $date_start],
['<=', 'created_at', $date_end]
]);
}
..........
return $dataProvider;
}
}