【发布时间】:2020-04-04 03:13:45
【问题描述】:
我有三个表Contact、Non Medical Needs 和Medical Needs。联系 has_many 非医疗和医疗需求。
需求有一个fulfilled 布尔列,用于标记需求已完成。我需要查询所有未满足医疗或非医疗需求的联系人。
我尝试使用 or 关系进行查询,但它只返回需求的交集。这是我提出的查询
Contact.joins(:non_medical_reqs, :medicaL_reqs)
.where(non_medical_reqs: {fullfilled: nil})
.or(Contact.joins(:non_medical_reqs, :medicaL_reqs)
.where(medical_reqs: {fullfilled: nil}))
编辑 我正在使用带有 Rails 6 的 Postgresql
【问题讨论】:
-
Protip - 不要将整个程序写在一行中。
-
听起来你想要的是使用子查询或拥有。知道哪个数据库并拥有mce 会有所帮助。
标签: sql ruby-on-rails activerecord