2008-10-15 83 views
4

我有兩個模型,加入一個Has和屬於許多連接表。讓我們調用這些模型用戶和事件。大多數用戶有0個事件,而少數擁有一個或多個事件。我想要做的事,如:查找記錄與多個ActiveRecord HABTM協會

User.find(:全部:加入=>:事件:條件=> [ 「'東西算事件'>?」],0)

問題是,我不確定如何只選擇有一個或多個相關事件的用戶。

回答

4

我已經找到了答案:

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

基本上,users *將結果集限制,只是在用戶表,DISTINCT關鍵字可以確保每個用戶只返回一次。

+1

這並不解決問題的情況下,你想超過N個結果,而不僅僅是1.任何人都可以提供一種AR方式來做到這一點,除了原始SQL? – 2009-01-18 23:44:01