我试图在rails中进行半复杂的查询,而我试图找到一种方法在rails中执行它而不运行原始sql。它是如何工作的我有一个类列表,它与表称为天连接,每个类有多天运行。
我希望有一个查询,我会在星期二和星期四给出一个天的列表,它会给我一个类列表,其中运行的所有日期都在给出的列表中。
我有可以使用的原始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
有什么建议吗?
答案 0 :(得分:3)
你可以在Arel中使用'not exist'
if (*pPi && *pRadius && *pArea)