仅根据父模型从子模型中选择一行

时间:2009-05-13 11:08:59

标签: ruby-on-rails activerecord

以下是两个模型之间的关联:

class FotoGossip < ActiveRecord::Base
   has_many :uploads
end

class Upload < ActiveRecord::Base
   belongs_to :foto_gossip
end

@latest_uploads = Upload.all(:include => :foto_gossip, :order => "created_at DESC", :limit => 5)  

显示上传模型中的最新5张照片 但是,我想显示来自上传的5张图片,order_by created_date DESC,但每张FotoGossip只显示1张图片。
它可以将最近的FotoGossip与上传模型中的一张照片分组。

2 个答案:

答案 0 :(得分:0)

我认为你可以在

中使用ActiveRecord::Base#calculate
@latest = Update.maximun(:creted_at,:distinct=>:foto_gossip_id)

答案 1 :(得分:0)

以下AR查询解决了这个问题。

@latest_uploads = Upload.all(:include => :foto_gossip, :order => "created_at DESC", :limit => 5, :group => :foto_gossip_id)

神奇之处在于:组选项。