2011-03-10 2 views
0

나는 many-to-many : through relationship을 가지고 있습니다. 사용자 -> 회원 < - 그룹그룹 정렬 된 모델에서 가장 큰 계산을 반환하려고 시도합니다.

사용자 모델에는 국가 열이 있습니다. 사용자의 가장 큰 금액와 특정 그룹 및 복귀 국가 만에

이 지금은 같은 나라얼마나 많은 사람들을 발견 할 수 있습니다.

그룹 모델별로이 기압이 있습니다. 작동하지 않는

def country 
Country.find(users.group(:country_id).count.keys.first) 
end 

, 나는 지금 무의미의 첫 번째 키를 취하고 곳이 OrderedHash을 돌려 보았다. 너를 보여준 것은 내가 잃어버린 것 같은데.

나는 @ group.country를 할 수 있고 그 그룹에서 가장 큰 나라를 원한다.

내가이 문제를 어떻게 해결할 수 있는지에 대한 도움이 필요하십니까?

+0

어디 나라에서 온 않은 : 당신은 같은

대안은 그룹과 주위 다툰 것입니다? 사용자가 국가에 속한 것을 의미합니까? – DGM

+0

그래, 미안하지만, 나는 또한 세계의 모든 나라들을 가지고있는 모델 국가를 가지고있다. 그것은 has_many 사용자들이다. 및 사용자 belongs_to 국가 – Sebastian

답변

0

ActiveRecord의 :counter_cache 기능을 사용하면 숫자를 색인화하고 정렬 할 수있는 열에 표시되기 때문에 훨씬 쉽습니다. 대안은 적절한 결과를 얻기 위해 일부 사용자 지정 SQL을 작성하는 것입니다.

Country.find(users.group(:country_id).count.first.first) 
관련 문제