gpt4 book ai didi

sql - 选择所有用户,按评论数排序

转载 作者:太空宇宙 更新时间:2023-11-03 18:01:08 24 4
gpt4 key购买 nike

在 Rails 应用程序中,我想获取所有用户,按他们的评论数排序,以获得前十名评论者。我具体该怎么做?

在我的模型中,User 和 Comment 彼此处于 HABTM 关系中。

现在我有:

  all_users = User.all :joins => :comments
all_users.sort_by do |user|
user.comments.count
end

我仍然坚持这样一个事实,即这会为一个用户提供多个条目,因为一个用户可能有多个评论。而且我仍然必须只获得前十个用户。

执行此操作的更有效方法是什么,例如在查询本身?

谢谢

最佳答案

如果 Comment 模型中的 belongs_to :user 配置如下:

belongs_to :user, :counter_cache => true

然后您的 users 表中有一个默认为 0 的 comments_count 整数字段,然后您就可以按它进行排序,而不必进行连接。

关于sql - 选择所有用户,按评论数排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4427844/

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