我有PartnerType模型,它屬於PartnerType,它繼承了多態Lookup模型。Rails 4:Model.joins(...)不選擇空關係
在我的#index頁面上,我試圖列出所有合作伙伴,並顯示其關聯的partner_type(如果他們有)。試圖優化到1查詢,我加入了partner_type(通過查找表),但似乎這個查詢只返回具有相關的partner_type的合作伙伴。我確信這是預期的行爲,但我對加入的不足方面知之甚少。
# partners_controller.rb
def index
# Only grabs partners WITH an associated partner_type
@partners = Partner.joins(:partner_type).select("partners.*, lookups.value as partner_type_value")
end
如何創建1個查詢,選擇所有合作伙伴和相關的partner_type,如果他們有一個?
編輯
@partners = Partner.includes(:partner_type).select("partners.*, lookups.value as partner_type_vale").references(:partner_type)
這工作,但我不知道這是否是 '最佳' 的解決方案。