2011-04-30 5 views
5

필자는 내 모델에 하나 이상의 속성을 소유 한 개인이나 기관을 나타내는 소유자와 속성이 포함 된 레일 3 애플리케이션을 보유하고 있습니다.Rails 3/MetaSearch를 사용하여 쿼리에서 SUM을 선택하려면 어떻게해야합니까?

내 데이터베이스 (SQLite3)를 검색하고 소유자별로 그룹화 된 결과를 반환하고 싶습니다. 각 그룹에 대해 다음과 같이 표시하고 싶습니다.

- 소유자 이름 (쉽게 할 수 있음) - 검색 조건 (즉, 개수)을 충족하는이 소유자의 속성 중 총 개수입니다. - 이전 열에서 계산 된 모든 속성의 총 가치 (즉, 합계)입니다.

소유자 has_many 속성 및 속성 belongs_to Owner. 또한 "value"는 Property의 속성입니다.

저는 MetaSearch 젬을 사용하고 있습니다. 속성 모음을 올바르게 반환 할 수 있습니다. 결과를 소유자별로 그룹화 할 수도 있지만 속성 수와 합계 값을 표시하는 방법을 알 수 없습니다. 나는이 같은 체인에 ALL 기타 사항 서보 -OFF를 추가하는 시도

@search = Property.group("owner_id").search(params[:search]) 

:

@search = Property.select("SUM(value) as mysum").group("owner_id").search(params[:search]) 

하지만이 합계에 액세스 할 수 없습니다 여기

속성의 목록을 반환하는 코드입니다 내가 할 때. 누구든지이 상황을 처리하는 효율적인 방법을 알고 있습니까?

답변

11

나는 이것이 오래되었음을 알고 있지만 Google 검색 결과가 높습니다.

간단히 합계를 호출 할 수 있습니다.

Property.where(SEARCH_VALUES).sum(:value).group(:owner_id) 

http://guides.rubyonrails.org/active_record_querying.html#sum

: 귀하의 예를 보면 다음 당신을 위해 무엇을 찾고있는 약입니다
관련 문제