【发布时间】:2015-04-04 10:09:35
【问题描述】:
我有一个简单的日历应用程序。
型号:
class Day < ActiveRecord::Base
self.primary_key = "sdate"
has_many :items, foreign_key: :sdate
end
class Item < ActiveRecord::Base
belongs_to :day, :foreign_key => :sdate
belongs_to :calendar
end
class Calendar < ActiveRecord::Base
has_many :items
end
要求: 获取特定日期范围内的所有天数行。 获取具有特定 Calendar-ID 的相关项目行。
使用 SQL 我可以使用以下查询:
SELECT * FROM days LEFT OUTER JOIN (
SELECT * FROM items
WHERE calendar_id IN (1, 4)
) AS items
ON days.sdate = items.sdate
WHERE days.sdate BETWEEN '2015-03-01' AND '2015-03-31';
我在 Rails 中尝试了多种方法,但找不到解决方案。
如何在 Rails 4 中做到这一点?渴望加载会很棒。
【问题讨论】:
-
听起来像是两个不同的要求,是吗?
标签: ruby-on-rails activerecord subquery