CActiveDataProvider козлит

Вот код:

	$criteria = new CDbCriteria();


	$criteria->with = array('variants', 'variants.votes');


	$criteria->condition = 'vote_user_id=' . Yii::app()->user->id;


	$dataProvider=new CActiveDataProvider('Polls');


	$models = Polls::model()->findAll($criteria);


	$dataProvider->setData($models);


	$this->render('votes',array(


		'dataProvider'=>$dataProvider,


	));

как вы видите, я использовал такую связку:

	$models = Polls::model()->findAll($criteria);


	$dataProvider->setData($models);

потомучто такой спобоб не прокатывает:

            $dataProvider->setCriteria($criteria);

пишет что нет такого поля vote_user_id

Подскажите почему? как это исправить? так как сейчас я использую оно работает - но так юзать я не хочу из религиозных предпочтений. Я хочу использовать так как оно не работает

Как-то так попоробуй


$dataProvider=new CActiveDataProvider('Polls',array('criteria'=>$criteria));

это то же самое что я написал, которое не работает. Та же ошибка. Если например в условии использовать какое нибудь поле из таблицы Polls, то все работает. Т.е. какбы не поднимаются поля из зависимых таблиц.

Смотри в сторону together

http://www.yiiframework.com/doc/api/CDbCriteria#together-detail

Как-то так


$criteria->with = array('variants'=>array('together'=>true));

тут можно будет использовать в условиях поля таблицы variants

Возможно удобнее будет добавить условия в ON используя правильный joinType

http://www.yiiframework.com/doc/api/CActiveRelation#on-detail

Также предполагаю что тебе понадобится добавить группировку по poll_id