Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 Rails 3从多个模型查询特定数据_Ruby On Rails 3_Data Modeling - Fatal编程技术网

Ruby on rails 3 Rails 3从多个模型查询特定数据

Ruby on rails 3 Rails 3从多个模型查询特定数据,ruby-on-rails-3,data-modeling,Ruby On Rails 3,Data Modeling,以下是我的两个模型: class Account < ActiveRecord::Base has_many :values end class Value < ActiveRecord::Base belongs_to :account end 类帐户

以下是我的两个模型:

class Account < ActiveRecord::Base
 has_many :values
end

class Value < ActiveRecord::Base
 belongs_to :account
end
类帐户
在我的帐户模型中,我有一个:name属性和一个:type属性,我在其中选择“checking”或“savings”。每年的每个季度,我都会为每个账户记录一笔金额,这在价值模型上进行。价值模型具有:季度属性(1、2、3或4)、年属性和:金额属性。有些账户在一年的每个季度都会更新,有些则不会。例如,我可以有一个支票账户,其值为2010年第1、2、3和第4季度,然后另一个支票账户的值仅为第1和第2季度。每次输入一个季度时,它只是上一季度的更新,而不是一个连续的累计总数


我想做的是运行一个查询,显示我去年某一账户类型的平均账户价值,“支票”或“储蓄”。我正在努力解决的问题是,我不能只运行一个查询并计算全年的总数,因为只有最后输入的值(按:quarter和:year排序)才是实际值,而不是所有季度的总数。因此,我如何循环检查所有的“支票”账户,并从最近输入的值条目中提取:金额,无论是第一季度还是第四季度?

我将使用在
记录的时间戳处创建的金额来排序结果。听起来好像您想要给定范围内的最新值记录。如果您不能按日期对结果进行排序,您可以简单地按
:quarter DESC
排序并使用第一个结果吗

不要忘记在SQL server端使用AVG()函数:


还可以查看类似的。例如,假设我有4个支票账户,一个账户有第一季度,另一个账户有第1季度和第2季度,另一个账户有第1季度、第2季度和第3季度,最后一个账户有全部4个季度。我想根据每个账户的最后一个条目计算所有4个支票账户的平均值。所以在这个例子中,它将是所有不同的季度。这更有意义吗?