私は次のモデルを持っています:
# == Schema Information
#
# Table name: quotes
#
# id :integer not null, primary key
# bound_rate_id :integer
class Quote < ActiveRecord::Base
#snip
end
# == Schema Information
#
# Table name: rates
#
# id :integer not null, primary key
# quoted_premium :integer
class Rate < ActiveRecord::Base
#snip
end
このループと同じことを計算するクエリを作成したい:
sum = 0
for quote in Quote.all
rate = Rate.find(quote.bound_rate_id)
sum += rate.quoted_premium
end
ActiveRecord のクエリ インターフェイスを使用してこれを行うにはどうすればよいですか? (Rails 4 を使用しています。)
編集:ActiveRecord
以前のクエリからのインスタンスが既にQuote
あるため、クエリをテーブルから開始してquotes
テーブルに結合することをお勧めしrates
ます。その逆ではありません。このような:
some_quotes = Quote.where(:some_other_property, my_param);
sum_of_rates = some_quotes.?????