Tengo una aplicación de Rails 3 donde mi modelo incluye Propietarios y Propiedades, cada propietario representa a una persona o institución que posee una o más propiedades.¿Cómo puedo seleccionar una SUM en una consulta usando Rails 3/MetaSearch?
Me gustaría poder buscar en mi base de datos (SQLite3) y devolver los resultados agrupados por el propietario. Para cada grupo, me gustaría mostrar:
-El nombre del propietario (puedo hacerlo fácilmente) -El número total de propiedades que pertenecen a este propietario que cumplen con las condiciones de búsqueda (es decir, un recuento). -El valor total de todas las propiedades contadas en la columna anterior (es decir, una suma).
Propietario has_many Propiedades y propiedad belongs_to Propietario. Además, "valor" es un atributo para Propiedad.
Estoy usando la gema MetaSearch, y puedo conseguir que devuelva una colección de propiedades correctamente. También puedo conseguir que agrupe los resultados por propietario, pero no puedo averiguar cómo mostrar el número de propiedades y su valor sumado.
Este es el código para devolver la lista de propiedades:
@search = Property.group("owner_id").search(params[:search])
He intentado añadir un .select a la cadena como esta:
@search = Property.select("SUM(value) as mysum").group("owner_id").search(params[:search])
Pero no puedo acceder a esta suma cuando lo intento ¿Alguien sabe de una manera eficiente de manejar esta situación?