我有两个模型,由Has和Belongs To Many联接表加入。让我们称这些模型为用户和事件。大多数用户有0个事件,而很少有一个或多个事件。我想做点什么:
User.find(:all,:joins =>:events,:conditions => [“ '计算事件的东西' >?” ],0)
问题是,我不确定如何只选择有一个或多个相关事件的用户。
答案 0 :(得分:4)
我找到了答案:
User.find(:all, :joins => :events, :select => 'DISTINCT `users`.*')
基本上,users
。*将结果集限制为仅用户表,而DISTINCT关键字确保每个用户只返回一次。