Ответы пользователя по тегу Yii
  • Как фильтровать данные по двум датам с помощью ModelSearch в Yii2?

    @Vitalij_D Автор вопроса
    Есть небольшие сдвиги, добился фильтрации.

    1. Виджет с дейтпикерами перенес в ГридВью
    [
                    'attribute' => 'date_start',
                    'label' => 'Date start',
                    'filter' => DatePicker::widget([
                        'name' => 'CampaignSearch[from_date]',
                        'type' => DatePicker::TYPE_RANGE,
                        'name2' => 'CampaignSearch[to_date]',
                        'options' => ['placeholder' => 'Start date','class' => 'datepicker'],
                        'options2' => ['placeholder' => 'End date', 'class' => 'datepicker'],
                        'pluginOptions' => [
                            'autoclose'=>true,
                            'format' => 'yyyy/mm/dd',
                        ]
                    ]),
                ],


    2. Создал в модели 2 поля:
    public $from_date;
        public $to_date;


    3. В ModelSearch добавил новые поля модели в safe и добавил фильтрацию
    ->andFilterWhere(['between', 'date_start', $this->from_date,$this->to_date]);


    Какая проблема осталась:
    1. При выборе даты в поле ОТ или ДО - дата проставляется сразу в оба поля (так было задумано плагином).
    2. После этого сразу уходит запрос на сервер для фильтра. Получается у пользователя нет времени чтобы выбрать две даты. Каким образом можно это избежать? В принципе можно убрать дублирование даты в оба поля сразу...Возможно тогда проблема частично исчезнет.
    Ответ написан
    1 комментарий
  • Вывод результата Many to Many в Yii 2 с помощью GridView?

    @Vitalij_D Автор вопроса
    Функция сработала:
    'value' =>  function($data) {
                        $str ='';
                        foreach($data['items'] as $item)
                        {
                            $str.=$item['category'].',';
                        }
                        return $str;
                    },
    Ответ написан
    Комментировать