2013-05-13 57 views
0

在我的应用程序中,我必须从Facebook的评论模型中为Post模型获取最后/最新的两条评论。ROR +获取每篇文章的最新或最后两条评论

对于每个帖子可能有评论与否。例如: -

Post 1 having 10 comments. 
Post 2 having 5 comments. 
Post 3 have no comments. 
Post 5 have 20 comments. 

现在我无法找到每条帖子的最后两条评论以及与该帖子相关的评论总数。任何人都可以建议如何解决此问题。因为我在脑海里有一个非常糟糕的方法,那就是发布Post的每个循环并找到最后/最新的2条评论。

在此先感谢。希望最好的方法/方法。

回答

0

天真的方法:假设每个岗位有一个的has_many:评论的关系,你可以尝试:

comments = post.comments 
total_comments = comments.count 
last_two_comments = comments.last(2) 

这会给你一个职位对象的最后两点意见。这将加载每篇文章的所有评论,因此可能不是理想的性能。或者,您可以对post_id等于相关post_id的评论进行查询。

喜欢的东西:

Comment.where(post_id: post.id).limit(2).order("id DESC") 
相关问题