在Rails中获取通过值列表连接的所有行

问题描述 投票:0回答:2

我有两个表(模型):

  1. 学生
  2. 课程

它们都通过名为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..

我想从特定的课程列表中获取所有课程的学生,如下所示: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....

我的问题是我该怎么做?我对SQL的了解不是很强,并且正在努力弄清楚我需要什么。我以为我需要在order之前加入某种联接或where子句,但是我在确定正确的方式和方法方面遇到了一些困难]

非常感谢!

我有两个表(模型):学生课程它们都通过一个称为course_enrollments的表连接在一起。它们在rails中的设置如下:Student.rb:has_many:courses,通过:...

sql ruby-on-rails orm rails-activerecord
2个回答
0
投票
student_list = Student.joins(:course_enrollments).where(course_enrollments: { course_id: courses_list.ids })

0
投票
[学生参加的所有课程:
© www.soinside.com 2019 - 2024. All rights reserved.