2008-10-15 2 views
4

Has 및 Belongs To Many 조인 테이블로 조인 된 두 개의 모델이 있습니다. 이 모델을 사용자 및 이벤트로 호출 할 수 있습니다. 대부분의 사용자는 0 개의 이벤트를 보유하고 있지만, 하나 이상의 이벤트는 거의 없습니다.둘 이상의 ActiveRecord HABTM Association이있는 레코드 찾기

User.find : 나는 같은 것을하고 싶어 (: 모든 : 이벤트 : : => 조인 조건 => [ "'카운트 뭔가 이벤트'>?"], 0)

문제는 하나 이상의 연결된 이벤트가있는 사용자 만 선택하는 방법이 확실하지 않다는 것입니다.

답변

4

나는 답을 발견했습니다.

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

는 기본적으로 users *이 단지 사용자 테이블에 결과 집합을 제한하고, DISTINCT 키워드는 각 사용자가 한 번만 반환됩니다 확인합니다.

+1

이것은 단순히 결과가 아닌 N 이상의 결과를 원할 경우 문제를 해결하지 못합니다. 아무도 원시 SQL이 아닌 AR 방법을 제공 할 수 있습니까? –