私は Active Record クエリ インターフェイスを理解しようとしています。私は2つのモデルを持っています:
class Movie < ActiveRecord::Base
has_many :datapoints
attr_accessible :genre
end
class Datapoint < ActiveRecord::Base
belongs_to :movie
attr_accessible :cumulative_downloads, :timestamp
end
特定の期間におけるジャンルごとの増分ダウンロードを見つけたいと考えています。
これまでのところ、次のように、期間内に映画ごとに最大および最小のダウンロードを取得することができました。
maximums = Datapoint.joins(:movie)
.where(["datapoints.timestamp > ?", Date.today - @timespan])
.group('datatpoints.movie_id')
.maximum(:cumulative_downloads)
これにより、これをジャンルごとの増分に集計する前に、映画ごとの増分を計算できます。
明らかに、これは少し不器用であり、これを 1 つのステップで (そしてハッシュ条件を使用して) 実行できると確信しています。私はどうやって頭をつかむことができません。手伝ってくれますか?
とても有難い!
デレク。