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


i want have slugs of categories in descendent order of number of products per category (the category slug category witht products first , ones without products last)

i rails 3.2 query

category.   joins("left outer join products on products.category_id = categories.id").   select('count("products"."id") products_count').   group("categories.slug").   order("products_count desc").   select("categories.slug") 

worked. after upgrading, an

activerecord::statementinvalid: pg::undefinedcolumn 

error, saying column products_count doesn't exist

...and_id = categories.id group categories.slug  order products_c... 

how should fix it?

order not recognize aliases.

quick fix:

category.   joins("left outer join products on products.category_id = categories.id").   group("categories.slug").   order('count("products"."id") desc').   select("categories.slug") 

why did work before not after upgrading? i'm not sure, guess has optimizations (delayed execution) added activerecord.


Comments

Popular posts from this blog

html - Firefox flex bug applied to buttons? -

html - Missing border-right in select on Firefox -

python - build a suggestions list using fuzzywuzzy -