Поиск по дочерней таблице

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
belka3000
Сообщения: 16
Зарегистрирован: 2015.01.29, 14:52

Поиск по дочерней таблице

Сообщение belka3000 »

Приветствую всех!Не нашел решения в интернете, может кто знает.
Есть товары(id,name и тд) и параметры(id,key,value)
есть связь HAS_MANY в товарах к параметрам и BELONGS_TO у параметров к товарам.

Задача провести поиск по параметрам:
проблема в том что параметров может быть несколько, если он один то поиск работает. А если два то нет:

Код: Выделить всё

$criteria = new CDbCriteria;
        $criteria->group = 't.id';
        $criteria->together = true;
        $criteria->with = array("param");
        $criteria->limit = 100;


        $criteria->compare('param.value',"10",true);
        $criteria->compare('param.key',"Длина",true);
        $criteria->compare('param.value',"2",true);
        $criteria->compare('param.key',"Число мест",true); 
Как сделать так чтобы был поиск по всем возможным параметрам и группировка этого всего в один результат?
Nicolai6120
Сообщения: 143
Зарегистрирован: 2014.08.13, 15:08

Re: Поиск по дочерней таблице

Сообщение Nicolai6120 »

Если я не ошибаюсь, нельзя использовать несколько compare, нужно заменить на:

Код: Выделить всё

$crireria->condition()
 
belka3000
Сообщения: 16
Зарегистрирован: 2015.01.29, 14:52

Re: Поиск по дочерней таблице

Сообщение belka3000 »

С кондишн также получается. Проблема что идет выборка в парам только по одной записи а хотелось иметь в выборке все записи парам
Ответить