【发布时间】:2015-02-23 20:41:23
【问题描述】:
与Rails activerecord : sum, max and joins相同的问题
除了得到奇怪的结果。
class CustomResumeline < ActiveRecord::Base
has_many :resumeline_words
end
class ResumelineWord < ActiveRecord::Base
belongs_to :custom_resumeline
end
CustomResumeline.joins(:resumeline_words).where(resumeline_words: {name: ["time", "data"]}).select('sum(resumeline_words.weight) as nb_votes').group('resumeline_words.custom_resumeline_id').order('nb_votes ASC')
结果
CustomResumeline Load (0.8ms) SELECT sum(resumeline_words.weight) as nb_votes FROM "custom_resumelines" INNER JOIN "resumeline_words" ON "resumeline_words"."custom_resumeline_id" = "custom_resumelines"."id" WHERE "resumeline_words"."name" IN ('time', 'data') GROUP BY resumeline_words.custom_resumeline_id ORDER BY nb_votes ASC
=> #<ActiveRecord::Relation [#<CustomResumeline id: nil>, #<CustomResumeline id: nil>, #<CustomResumeline id: nil>, #<CustomResumeline id: nil>, #<CustomResumeline id: nil>, #<CustomResumeline id: nil>, #<CustomResumeline id: nil>, #<CustomResumeline id: nil>, #<CustomResumeline id: nil>, #<CustomResumeline id: nil>, ...]>
我的问题是,为什么我会得到一个包含一堆 nil id CustomResumelines 的数组?
谢谢
【问题讨论】:
-
将
joins更改为includes
标签: ruby-on-rails join activerecord sum