代码之家  ›  专栏  ›  技术社区  ›  jcnnghm

查找具有多个ActiveRecord HABTM关联的记录

  •  4
  • jcnnghm  · 技术社区  · 17 年前

    我有两个模型,由一个Has连接,属于多个连接表。让我们调用这些模型用户和事件。大多数用户具有0个事件,而很少有用户具有一个或多个事件。我想做一些类似的事情:

    User.find(:all,:joins=>:events,:conditions=>[) >?"], 0)

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

    1 回复  |  直到 17 年前
        1
  •  4
  •   jcnnghm    17 年前

    我找到了答案:

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

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