Rails 3 ActiveRecord Query Interface, Упорядочить родителей по последним созданным дочерним элементам каждого из родителей - PullRequest
1 голос
/ 20 апреля 2011

Привет всем, у меня есть модельная тема с сообщениями has_many.

Мне было интересно с rails3, как мне поступить Сортировка темы в порядке убывания, по которой у темы есть последнее созданное сообщение.

В сегментах / псевдокоде это то, что я хочу сделать

для каждой темы найти наиболее недавно созданное сообщение, каким-то образом объединить эту дату публикации со связанным с ней порядком записей моих тем по этой связанной дате публикации в порядке возрастания

1 Ответ

0 голосов
/ 20 апреля 2011

Я думаю, что лучшим и наиболее эффективным решением здесь является использование опции touch:

class Post < ActiveRecord
  belongs_to :thread, :touch => true
end

Так что вы сможете найти последние активные темы так же просто, как:

Thread.order("updated_at DESC").limit(10)

Как насчет запроса ... Вы можете попытаться найти его через дочерние объекты:

active_threads = Post.includes(:threads).order("created_at DESC").all.map(&:thread).uniq
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...