我有两个模型,由Has和Belongs To Many联接表联接。让我们将这些模型称为"用户"one_answers"事件"。大多数用户有0个事件,而很少有用户有一个或多个事件。我想做一些类似的事情:
User.fund(:all,:joins=>:events,:conditions=>["‘计数事件的某些东西’>?"],0)
问题是,我不知道如何只选择具有1个或多个关联事件的用户。
我找到了答案:
User.find(:all, :joins => :events, :select => 'DISTINCT `users`.*')
基本上,users
.*将结果集限制为users表,DISTINCT关键字确保每个用户只返回一次。