1
class User
    has_many :posts do
      def latest(report_date)
        order(:report_date).where('report_date <= ?', report_date).limit(1)
      end
    end
end

class Post
    belongs_to :user
end

各ユーザーの最後の投稿でユーザーのレコードを取得したいと思います。

私はこれを行うことができます:

users = User.all.map{|user| user.posts.latest(7.weeks.ago).first}.compact

これを書く良い方法はありますか?何かのようなもの:

users = User.posts.latest(7.weeks.ago).all

それが有効だったら?

4

1 に答える 1