0

私はそのPostモデルを持っていhas_many :commentsます。問題は、 ActiveRecord Query Interfaceを使用して、すべての投稿と各投稿の最後のコメントを取得するクエリを作成するにはどうすればよいかということです。

私が今持っているのは次のとおりですが、コメントはフィルタリングされておらず、次に何をすべきかわかりません。

Post.includes(:comments)
4

1 に答える 1

2

最も単純なことは、スコープを作成することです。

class Post < ActiveRecord::Base
    # has_many or maybe a has_one ? I don't have time to fire up console again to check, sorry!
    has_many :last_comment, :class_name => 'Comment', :limit => 1, :order => 'comments.created_at DESC'
end

そして、使用します

Post.includes(:last_comment)

SQL にインデックスがあることを確認してください。

于 2012-07-16T19:17:59.857 に答える