首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Rails活动记录查询仅连接任何

Rails活动记录查询仅连接任何
EN

Stack Overflow用户
提问于 2017-01-05 22:07:51
回答 1查看 175关注 0票数 0
代码语言:javascript
运行
复制
Student has_many :enrollments

通过这个查询,我可以看到那些有true注册的学生,也有那些同时拥有truefalse注册的学生:

代码语言:javascript
运行
复制
@students = Student.joins(:enrollments).where(enrollments: { is_active: false })

是否有一些“只有”属性,我可以添加,以看到只有的学生只有活动注册?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-05 23:42:46

一种直截了当的方法是找到不活跃的学生,然后明确地将他们排除在外。类似于:

代码语言:javascript
运行
复制
have_inactives = Enrollment.where(is_active: false).select(:student_id)
@students      = Student.joins(:enrollments).where.not(id: have_inactives)

joins(:enrollments)将过滤掉没有任何注册的Student条目,而where.not(...)将排除所有非活动注册的学生(使用子查询,所以所有的工作仍然在它所属的数据库中)。

顺便说一句,你可能想要修正你的拼写“注册”,双重-我的错误拼写可能会导致你或其他程序员疯狂。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41495578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档