У меня есть две таблицы (модели):
- Студенты
- Курсы
Они оба связаны через таблицу под названием course_enrollments
В рельсах они настроены так:
Student.rb:
has_many :courses, through: course_enrollments
Course.rb:
has_many :students, through: course_entrollments
CourseEntrollment.rb:
belongs_to :student, foreign_key...
belongs_to :course, foreign_key..
Я хотел бы получить всех Студентов, которые зачислены на все курсы по заданным c список курсов, что-то вроде этого:
courses_list = current_professor.courses_teaching
student_list = Student.eager_load(:some_table_I_have_to_load).join_with_all_courses(courses_list).order(sort_attributes).paginate....
Мой вопрос: как мне go сделать это? Я не слишком силен в SQL и ломаю голову, пытаясь понять, что мне нужно. Я подумал, что перед order
мне нужно поместить какое-то соединение или оператор where, но мне трудно понять, что и как делать правильно
Большое спасибо!