У меня есть 3 таблицы, стандартное отношение MANY-TO-MANY
Пользователи (id, ...) -> Users_Has_Courses (Users_id, Courses_id) -> Курсы (id, ...)
Курсы Модель имеет следующее отношение
'users' => array(self::MANY_MANY, 'Users', 'users_has_courses(Courses_id, Users_id)')
Пользователи Модель имеет следующее отношение
'courses' => array(self::MANY_MANY, 'Courses', 'users_has_courses(Users_id, Courses_id)')
Скажите, пожалуйста, как я могу получить список курсов, на которые пользователь с указанным «id» не подписан на CActiveDataProvider?
Другими словами, мне нужен аналог этого простого SQL-запроса
select * from Courses where id not in (select Courses_id from users_has_courses where Users_id = 2)
спасибо за помощь