[英]Selecting only one row from child model based upon the parent model
以下是兩個模型之間的關聯:
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與上載模型中的一張照片分組一樣。
我認為您可以像這樣使用ActiveRecord :: Base#calculate
@latest = Update.maximun(:creted_at,:distinct=>:foto_gossip_id)
接下來的AR查詢解決了該問題。
@latest_uploads = Upload.all(:include => :foto_gossip, :order => "created_at DESC", :limit => 5, :group => :foto_gossip_id)
魔術在於:group選項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.