My Program
桌子有很多Measures
My Measure
桌子有很多Targets
My Target
表有一列名为“money"
我的 ActiveRecord 查询如下所示:
@programs2 = Program.includes([measures: :target]).where('organization_id = 1').limit(2)
我想定义一个范围,以便查询可以返回其 target.money 值最低的顶级程序。因此,我需要编写一个范围并将其应用于该查询,但是我应该在模型中如何以及在何处定义该范围,类似这样?嗯,这行不通,但这就是我所知道的。
scope :top5, :joins => [:measures, :targets] , :order => "money DESC"
某个计划的 target.money 是多少,即该计划所有措施的所有 Targets.money 的总和?
你可以尝试这样的事情:
Target.order_by( :money => :desc ).map{|target| target.measure }.map{|measure| measure.program }.uniq
祝你好运
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)