Есть две таблицы Users и Email_groups. Между ними есть отношение email_groups, определенное как MANY_MANY.
Я хочу в CActiveDataProvider получить пользователей одной группы.
Код: Выделить всё
$r = Users::model()->findAll(array(
'with'=>array(
'email_groups'=>array(
'alias'=>'group',
'condition'=>'group.id = :group_id',
'params'=>array(
':group_id'=>$group->id
),
'joinType'=>'INNER JOIN'
)
)
));
$members = new CActiveDataProvider('Users', array(
'criteria'=>array(
'with'=>array(
'email_groups'=>array(
'alias'=>'group',
'condition'=>'group.id = :group_id',
'params'=>array(
':group_id'=>$group->id
),
'joinType'=>'INNER JOIN'
)
)
)
));
$r2 = $members->data;
Результат в $r2 - массив из всех пользователей, что есть в базе.
Почему так?
При том, что я разбирал дебаггером работу CActiveDataProvider и нашел, что там вызывается:
Код: Выделить всё
return $this->model->findAll($criteria);