kilimandjaro
@kilimandjaro
web developer

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

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

UPD
Вопрос по Yii2
  • Вопрос задан
  • 178 просмотров
Пригласить эксперта
Ответы на вопрос 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;
.....
Ответ написан
Ваш ответ на вопрос

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

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