ruby-on-rails-3 – 如何使用Rails 3 / MetaSearch在查询中选择SUM?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails-3 – 如何使用Rails 3 / MetaSearch在查询中选择SUM?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个Rails 3应用程序,其中我的模型包括所有者和属性,每个所有者代表拥有一个或多个属性的个人或机构.

我希望能够搜索我的数据库(sqlite3)并返回按所有者分组的结果.对于每个组,我想显示

– 主人的名字(我可以轻松地做到这一点)
– 属于该所有者的满足搜索条件的属性总数(即计数).
– 前一列中计算的所有属性的总值(即总和).

所有者has_many属性,属性belongs_to所有者.此外,“value”是Property的属性.

我正在使用MetaSearch gem,我可以让它正确返回属性集合.我也可以让它按照所有者对结果进行分组,但我无法弄清楚如何显示属性数量及其总和值.

以下是返回属性列表的代码

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

我试过像这样在链中添加一个.select:

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

但是当我尝试时,我无法访问这笔钱.有谁知道处理这种情况的有效方法

解决方法

我意识到这是旧的,但它在谷歌搜索结果中很高.

你可以简单地称总和.看看你的例子,以下是你正在寻找的东西:

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

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

猜你在找的Ruby相关文章