gpt4 book ai didi

ruby-on-rails - Rails4 order by column alias in joins group

转载 作者:行者123 更新时间:2023-12-01 13:50:32 24 4
gpt4 key购买 nike

我想按每个类别产品数量的降序排列类别的 slug(产品最多的类别的类别 slug 在前,没有产品的类别在最后)

I Rails 3.2 查询

Category.
joins("LEFT OUTER JOIN products ON products.category_id = categories.id").
select('count("products"."id") as products_count').
group("categories.slug").
order("products_count desc").
select("categories.slug")

成功了。但是升级后,我得到一个

ActiveRecord::StatementInvalid: PG::UndefinedColumn

错误,说 products_count 列不存在

...and_id = categories.id GROUP BY categories.slug  ORDER BY products_c...

我该如何解决?

最佳答案

ORDER BY 不识别别名。

快速修复:

Category.
joins("LEFT OUTER JOIN products ON products.category_id = categories.id").
group("categories.slug").
order('count("products"."id") desc').
select("categories.slug")

为什么升级前可以,升级后就不行了?我不确定,但我猜这与添加到 ActiveRecord 的优化(延迟执行)有关。

关于ruby-on-rails - Rails4 order by column alias in joins group,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32094801/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com