1
我想在轨道做一个半复杂的查询,我想找出一种方法来做到这一点在轨道上没有运行原始的SQL。它是如何工作的,我有一个类的列表,它与名为days的表连接,每个类都有多个运行日期。如何做一个不存在的加入轨道
我想查询一下我给出的日期列表,例如星期一和星期四星期一,它会给我一个列出所有运行日期都在给定列表中的类列表。
我有我可以使用的原始的SQL,但我无法弄清楚如何将这个变成一个rails命令。
select * from webtms_classes c
where c.class_id = 'CHEM101'
and not exists (
select cd.day from webtms_days cd
where cd.webtms_class_id = c.id
and cd.day not in ('Monday','Tuesday','Thursday')
)
继承人什么型号有:
class WebtmsClass < ActiveRecord::Base
has_many :webtms_days, dependent: :destroy
end
class WebtmsDay < ActiveRecord::Base
belongs_to :webtms_class
end
有什么建议?
你可以把你的代码中的模型,以显示你是如何设计的关联? – Yang
@Yang ok更新 –
考虑在获取所有这些类之后过滤Ruby中的类。我没有看到一个不涉及编写SQL或Arel的好解决方案。 – Raffael