Пытаюсь разобраться с AR запросами в Yii 1.x..
Есть модель User [id, name]
Каждый User имеет несколько моделей Task [id, user_id] (через HAS_MANY)
При этом есть еще и модель Project [id, name], которая связана с Task через MANY_MANY (таблица tasks_projects [task_id, project_id]).
Задача - выбрать всех User, которым стоят задачи на проекты projectIds[].
Всю голову сломал, не могу понять, как составить корректно запрос..
$criteria = new CDbCriteria;
if (isset($_data['projectIds']) && count($_data['projectIds']) > 0) {
$criteria->with = array('tasks', 'tasks.projects'=>array('alias'=>'projects'));
$criteria->together = true;
$criteria->addInCondition('projects.project_id', $_data['projectIds']);
}
User::model()->findAll($criteria);
В итоге, получаю ошибку о неверной колонке projects.project_id
Что я делаю не так?
project_idна простоid? В ORM отсутствует понятие "таблица связей", на уровне манипулирования объектами ее не видно. – etki Jun 28 '15 at 03:38