Yii SQL для CActiveDataProvider - PullRequest
2 голосов
/ 16 мая 2011

Мне нужна помощь экспертов Yii, у меня есть SQL-запрос

SELECT p.name , p.price FROM products as p, prod_cat as pc WHERE pc.id_pr  =  p.id_pr AND pc.id_cat in (SELECT id_cat FROM prod_cat where id_pr=<myid>)

Мне нужно преобразовать это в CActiveDataProvider в Yii.как-то так

            $dataProvider2=new CActiveDataProvider('Products',array(
                        'criteria' => array(
                             ...                                      
                        ),

                ));

У меня есть 3 таблицы: Продукты, Категории и Prod_cat (связь между двумя другими).Мне нужно найти другие товары из той же категории, что и я ().

Ответы [ 2 ]

1 голос
/ 16 мая 2011

Я бы создал представление в вашей базе данных (используя этот запрос). Затем создайте модель в Yii на основе этого представления. Создать activedataprovider будет легко.

http://en.wikipedia.org/wiki/View_(database)

0 голосов
/ 16 мая 2011

Одна из идей - использовать модель с отношениями.http://www.yiiframework.com/doc/guide/1.1/en/database.arr

Другой способ - использовать DAO, но он не работает с CActiveDataProvider

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...