@dima0077

Данные отправляются но не применяются?

[
    'category_id' => ''
    'name' => ''
    'content' => ''
    'price' => ''
    'price_min' => '10'
    'price_max' => '15'
]


в Model/ProductSearch.php
public $price_max;
 public $price_min;
 $query->andFilterWhere(['and',['>', 'price', $this->price_min],['<','price',$this->price_max]]);

View _search 
    <?= $form->field($model, 'price') ?>
    <?= $form->field($model, 'price_min') ?>
    <?= $form->field($model, 'price_max') ?>

Фильтр просто цена работает но min-max нет
  • Вопрос задан
  • 57 просмотров
Решения вопроса 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Данные отправляются но не применяются?

1. вариант, многовероятный: Видимо валидацию не проходят. Проверить можно посмотрев в дебаге конкретно какой запрос улетает и/или проверить вписаны ли эти поля в rules в search моделе.
2 вариант, печальный: У вас проблема с типом данных, например поле цена в бд это varchar а не integer
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
slo_nik
@slo_nik Куратор тега Yii
Добрый вечер.
У Вас получается, что цена должна быть и больше и меньше.
Может правильней будет условие "или". Или даже between
Что-то вроде этого:
$query->andFilterWhere(['between', 'price', $this->max, $this->min]);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы