我有两个模型组和项目
class Group < ActiveRecord::Base
has_many :items
end
class Item < ActiveRecord::Base
belongs_to :group
end
我的查询
Group.joins(:items).select('items.created_at AS item_created_at, groups.*').where("items.created_at > ?", time)
我需要在字段&#39; item_created_at&#39;中加载uniq组。像MAX(items.created_at)
答案 0 :(得分:0)
你的意思是: Group.joins(:items).select('max(items.created_at),groups。*')。references(:items)?
不确定这是否是您想要的,但我认为这会获取所有群组及其最新项目'created_at。
答案 1 :(得分:0)
可能会继续工作,
g = Group.joins(:items).select('MAX(items.created_at) AS item_created_at, groups.*').group('items.group_id').having("items.created_at > ?", time)
现在g
为item_created_at
,
puts g.map(&:item_created_at)