【问题标题】:Find records with more than one ActiveRecord HABTM Association查找具有多个 ActiveRecord HABTM 关联的记录
【发布时间】:2008-10-15 02:01:51
【问题描述】:

我有两个模型,由 Has 和 Belongs To Many 连接表连接。让我们将这些模型称为用户和事件。大多数用户有 0 个事件,而很少有一个或多个事件。我想做类似的事情:

User.find(:all, :joins => :events, :conditions => ["'对事件进行计数的东西' > ?"], 0 )

问题是,我不确定如何仅选择具有 1 个或多个关联事件的用户。

【问题讨论】:

    标签: sql ruby-on-rails ruby activerecord


    【解决方案1】:

    我找到了答案:

    User.find(:all, :joins => :events, :select => 'DISTINCT `users`.*')
    

    基本上,users.* 将结果集限制为仅 users 表,而 DISTINCT 关键字确保每个用户只返回一次。

    【讨论】:

    • 这并不能解决您想要超过 N 个结果,而不仅仅是 1 个结果的问题。除了原始 SQL 之外,任何人都可以提供 AR 方法吗?
    猜你喜欢
    • 2011-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多