我有两个学生和课程表,学生和课程之间有很多关系。我想选择那些在课程中有相应行的学生。
我怎样才能做到这一点。提前谢谢!
答案 0 :(得分:1)
选择有相关课程的学生:
Student.joins(:courses)
然后,您可以通过在课程表中指定要过滤的列来进一步查询/过滤以上内容:
Student.joins(:courses).where(courses: { name: 'History' })
答案 1 :(得分:0)
如果您想在特定课程中找到学生:
您可以在课程模型中添加has_many students
,以便您访问:
Course.find(1).students
或
Course.find_by_name('biology').students
等...
要直接回答你的问题,你会选择Andrey Deineko的答案,它会给你所有有课程的学生......