私は次のモデルを持っているとしましょう:
class Employee < ActiveRecord::Base
has_many :shifts
end
class Shift < ActiveRecord::Base
belongs_to :employee
end
私のコントローラーでは、特定の日付範囲のシフトを含むすべての従業員をロードしたいと考えています。しかし、シフトのない従業員もその範囲に含めたいと考えています。
私のコントローラーで試しました:
@employees.joins("LEFT OUTER JOIN shifts ON employees.id = shifts.employee_id").where('shifts.starts_at BETWEEN ? and ?', weekBegin, weekEnd).to_json(:include => :shifts)
ただし、これは依然として、その日付範囲にシフトがある従業員を返すだけです。また、その日付範囲にシフトのない従業員も返したいと考えています。
このようなクエリはどのように機能しますか?