Как я могу выбрать СУММ в запросе с помощью Rails 3 / MetaSearch ?

У меня есть Приложение Rails 3, в котором моя модель включает владельцев и свойства, каждый владелец представляет человека или учреждение, которому принадлежит одно или несколько свойств.

Я хотел бы иметь возможность выполнять поиск в моей базе данных (SQLite3) и возвращать результаты, сгруппированные по владельцу. каждая группа,Я хотел бы отобразить:

-Имя владельца (я легко могу это сделать) -Общее количество объектов собственности, принадлежащих этому владельцу, которые соответствуют условиям поиска (т. Е. Количество). -Общая стоимость всех свойств, подсчитанных в предыдущем столбце (т. Е. Сумма).

Владелец has_many Properties, а Property принадлежит владельцу. Кроме того, «значение» является атрибутом свойства.

Я использую гем MetaSearch, и я могу заставить его правильно возвращать набор свойств. Я также могу заставить его сгруппировать результаты по владельцу, но я не могу понять, как отобразить количество свойств и их суммарное значение.

Вот код для возврата списка свойств:

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

У меня есть попытался добавить .select в цепочку следующим образом:

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

Но я не могу получить доступ к этой сумме, когда пытаюсь. Кто-нибудь знает, как эффективно справиться с этой ситуацией?

7
задан KTY 30 April 2011 в 22:32
поделиться