我有两个模型
class Location < ActiveRecord::Base
has_many :people, :as => :person
end
class People < ActiveRecord::Base
belongs_to :person, :polymorphic => true
end
我想运行Location
where 子句。然后我想对查询进行排序,以便与它相关联的人最多的位置排在第一位,然后按降序排列。
Location.where(place: "Waffle House")#Some query attached to this, but what do I write?
我该如何编写这个查询?可能吗?
已解决:解决了解决方案。虽然 hacky 它现在可以工作,直到我可以创建一个 SQL 语句。基本上遍历选定的位置,计算每个位置的人数,并添加一个虚拟属性和人数,并对哈希数组进行排序。