Выбор только одной строки из дочерней модели на основе родительской модели - PullRequest
0 голосов
/ 13 мая 2009

Ниже приводится связь между двумя моделями:

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 изображений из Uploads, order_by созданный_дек DESC, но только 1 изображение на FotoGossip.
Это что-то вроде группировки недавнего FotoGossip с одной фотографией из модели Uploads.

Ответы [ 2 ]

0 голосов
/ 14 мая 2009

Этот следующий AR-запрос решил ее.

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

Магия заключается в опции: group.

0 голосов
/ 13 мая 2009

Я думаю, вы можете использовать ActiveRecord :: Base # рассчитать как в

@latest = Update.maximun(:creted_at,:distinct=>:foto_gossip_id)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...