0

ProgramのテーブルにはたくさんありますMeasuresMeasureのテーブルにはたくさんありますTargets 私のテーブルには " money "Targetという列があります

私の ActiveRecord クエリは次のようになります。

@programs2 = Program.includes([measures: :target]).where('organization_id = 1').limit(2)

target.money 値が最も低いトップ プログラムをクエリが返すことができるように、スコープを定義したいと考えています。したがって、スコープを作成してそのクエリに適用する必要がありますが、モデルのどこでどのようにそのスコープを定義する必要がありますか? これはうまくいきませんが、それは私が知っている限りです。

scope :top5, :joins => [:measures, :targets]  ,  :order => "money DESC"
4

1 に答える 1

1

プログラムのtarget.money、このプログラムのすべてのメジャーのすべてのTargets.moneyの合計は何ですか?

次のようなことを試すことができます:

Target.order_by( :money => :desc ).map{|target| target.measure }.map{|measure| measure.program }.uniq

幸運を

于 2013-03-03T16:15:48.950 に答える