首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何查找具有最多标志的主题

如何查找具有最多标志的主题
EN

Stack Overflow用户
提问于 2010-07-25 05:27:00
回答 1查看 41关注 0票数 0

假设我有一个名为Topic的模型。主题has_many :topic_flags ( TopicFlag用于表示已标记为不适当的内容)。我的问题是:如何选择具有最多标志的主题(限制为任意数量,降序)?我已经考虑了一段时间了,虽然我可以将SQL查询组合在一起,但我更喜欢找到一种更多的Rails方法来完成这项工作。

EN

Stack Overflow用户

回答已采纳

发布于 2010-07-25 05:57:54

代码语言:javascript
运行
复制
class Topic < ActiveRecord::Base
  has_many :topic_flags

  named_scope :most_flags, lambda {|min_flags| {:joins => :topic_flags, 
                                                :group => "topic_flags.topic_id", 
                                                :order => "count(topic_flags.topic_id) desc", 
                                                :having => ["count(topic_flags.topic_id) >= ?", min_flags] }}
end

这使用了一个内部连接,所以它不会拾取没有标志的主题。你可以这样称呼它。

代码语言:javascript
运行
复制
Topic.most_flags(3)  # returns a sorted list of all topics with at least 3 flags.
票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3326986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档