我有一個簡單的日曆應用程序。Rails LEFT OUTER JOIN子查詢
型號:
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
要求: 一定時間範圍內獲取的天所有行。 獲取與某些日曆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中做到這一點?急切的加載會很好。
那些聽起來像2個不同的要求,他們? – 2015-04-04 10:14:46