【发布时间】:2019-07-03 19:28:50
【问题描述】:
我有一个模型 Category 那个 has_many Pendencies。我想创建一个范围,按具有active = true 的待定数量对类别进行排序,但不排除active = false。
到目前为止我所拥有的是:
scope :order_by_pendencies, -> { left_joins(:pendencies).group(:id).order('COUNT(pendencies.id) DESC')}
这将按挂件数量排序,但我想按具有active = true 的挂件进行排序。
另一个尝试是:
scope :order_by_pendencies, -> { left_joins(:pendencies).group(:id).where('pendencies.active = ?', true).order('COUNT(pendencies.id) DESC')}
这将按具有pendencies.active = true 的挂起数排序,但不包括pendencies.active = false。
感谢您的帮助。
【问题讨论】:
-
嘿伙计。订单标签上写着不要使用。我不太明白你的问题,但标签必须删除。
-
你好,约书亚。谢谢你的回答。我真的不明白你所说的订单标签是什么意思。我的问题是这样的:假设我有以下内容:类别 1 有 10 个挂件(2 个活动 = true 和 8 个活动 = false);类别 2,有 8 个未决项(6 个活动 = 真,2 个活动 = 假);类别 3 有 15 个未决项(15 活动 = 假)我希望订单为:类别 2、类别 1、类别 3
-
我可以用 C# 解决这个问题。抱歉,我不认识 Ruby。
-
感谢您的尝试,Jushua。您能否在 C# 中发布您的答案?如果我看到它,也许我可以有一个洞察力
标签: ruby-on-rails sorting count scope conditional-statements