gpt4 book ai didi

ruby-on-rails - rails 3.1数据库查询

转载 作者:搜寻专家 更新时间:2023-10-30 20:20:37 25 4
gpt4 key购买 nike

我有一个具有以下模型的 Rails 3.1 应用程序:

class Post < ActiveRecord::Base
has_many :comments
end

class Comment < ActiveRecord::Base
belongs_to :post
end

我想检索 5 个帖子,其中包含最新的评论。

问题是,例如,帖子 A 有 3 条评论比帖子 B 上的最新评论更新。

我希望查询执行如下操作:
评论中的数字表示 1 = 最新的 10 = 最旧的。

Post A
comment 1 #=>ok fetch the post
Post B
comment 2 #=>ok fetch the post
comment 3 #=>this post is fecthed go on find the next one
comment 4 #=>this post is fecthed go on find the next one
Post C
comment 5 #=>ok fetch the post
comment 6 #=>this post is fecthed go on find the next one
Post D
comment 7 #=>ok fetch the post
comment 8 #=>this post is fecthed go on find the next one
Post E
comment 9 #=>ok fetch the post
comment 10

是否可以通过优雅的查询来做到这一点?

一个可能的解决方案是更新 post 表中的 :comment_updated_at 列。

最佳答案

这应该有效:

comments = Comment.order("updated_at DESC").group(:post_id).limit(5)

这将返回 5 个最后的评论,带有不同的帖子。

所以在那之后你可以:

recent_commented_posts = comments.map(&:post)

瞧瞧。

关于ruby-on-rails - rails 3.1数据库查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8112245/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com