我正在做一个旧的Rails项目。我通过名为Student
的桥模型在Course
和students_courses
之间建立了多对多关系。
Student
类:
class Student < ActiveRecord::Base
has_and_belongs_to_many :courses, :class_name => 'Course', :join_table => 'students_courses'
end
Course
类:
class Course < ActiveRecord::Base
end
StudentCourse
类:
class StudentCourse < ActiveRecord::Base
belongs_to :student
belongs_to :course
end
firstname
模型中有一个Student
属性。我想找到一个拥有firstname
“ John”并正在学习课程“ foo”的学生。如何在Rails的ruby中得到这个?
答案 0 :(得分:0)
只需加入课程并进行查询
Student.joins(:courses).where(firstname: 'John', courses: { name: 'foo' })
您可以在rails guides
中阅读更多内容