所以我在我遇到的问题上还有一点,我有三个模型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)
两者都返回结果,但实际上两者都没有订购服务计数,我做错了什么=(
答案 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")