daterange

Это старая версия документа!


В 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;
	    }
	}

  • daterange.1642690258.txt.gz
  • Последнее изменение: 2022/01/20 16:50
  • (внешнее изменение)