关于相关记录的计数顺序

时间:2014-06-30 18:39:47

标签: ruby-on-rails postgresql

所以我在我遇到的问题上还有一点,我有三个模型Trader / Location / Service ....一个Trader HABTM Locations和一个Trader有很多服务。

对于Location实例,我试图按服务计数的降序返回所有交易者。我设法得到2个查询实际返回结果:

l = Location.find_by_post_code("G1")
l.traders.includes(:services).order('COUNT(services.id) DESC').group("services.id", "traders.id").references(:services)

l = Location.find_by_post_code("G1")
l.traders.includes(:services).select("services.id, count(services.id) as count").group("services.id", "traders.id").references(:services)

两者都返回结果,但实际上两者都没有订购服务计数,我做错了什么=(

2 个答案:

答案 0 :(得分:0)

试试这个:

l.traders.includes(:services).select("services.id, count(services.id) as count").group("services.id").order("count DESC")

您使用的数据库是什么?

答案 1 :(得分:0)

l = Location.find_by_post_code("G1")
l.traders.joins(:services).select("traders.id, traders.name, count(services.id) as count").group("traders.id").order("count DESC")