我如何在使用Rails 3 / MetaSearch的查询中选择SUM



我有一个Rails 3应用程序,其中我的模型包括所有者和属性,每个所有者代表拥有一个或多个属性的个人或机构。

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

-所有者的名字(我可以很容易地做到这一点)-属于该所有者且满足搜索条件的属性的总数(即计数)。-前一列中计算的所有属性的总价值(即总和)。

Owner has_many Properties和Property belongs_to Owner。另外,"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])

但是当我尝试时,我无法访问这个总和。有人知道处理这种情况的有效方法吗?

我知道这是旧的,但它在谷歌搜索结果中排名很高。

你可以简单地调用sum。看看您的示例,下面是您正在寻找的内容:

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

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

相关内容

  • 没有找到相关文章

最新更新