Задать вопрос
kilimandjaro
@kilimandjaro
web developer

Как сделать Поиск по колонке из таблицы отношения?

Работаю с одной моделью(таблицей - Goods), в связанной таблице находится дополнительная информация о товаре, например "серийный номер"
Вывожу "серийные имена" через метод getSerial в основной модели ($data->serial) в GridView::widget
Возникла необходимость сделать поиск по модели (связанная таблица).
Подскажите, как можно передать в $dataProvider условия, что бы он искал по полю serial (которое находится в таблице Goods_info и связано с таблицей Goods по идентификатору)

UPD
Вопрос по Yii2
  • Вопрос задан
  • 179 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Onskills
    PHP: базовый курс
    1 месяц
    Далее
  • teamcoding
    TC200PY Разработка PHP веб-приложений на Yii2. Шаблон приложения advanced
    3 месяца
    Далее
  • FructCode
    Yii2 Фреймворк
    2 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 1
В основной модели создайте свойство public $serial
При отправке формы поиска присвойте этому свойству значение
В самом методе где формируется $dataProvider, как правило это метод search():
.....
 $withArray = array();
if(!empty($this->serial)){
/*Имя связи допустим Goods_info*/
$withArray[0]='Goods_info';
$criteria->compare('Goods_info.serial', $this->serial);
}
.....
$criteria->with = $withArray;
.....
Ответ написан
Ваш ответ на вопрос

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

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