【发布时间】:2021-07-17 04:56:16
【问题描述】:
我正在尝试按照他们收到的点赞数对我的数据库中的所有食谱进行排序。点赞是多态的,属于:likeable,而一个菜谱有很多点赞。
我的查询适用于 SQLite3,但是当我使用 PostgreSQL 上传到 Heroku 时,它似乎破坏了一些东西。
功能如下:
Recipe.select('*').joins(:likes).group('recipes.id').order('COUNT(likes.likeable_id)')
当我尝试运行网站时 Heroku 给我的错误:
ActionView::Template::Error (PG::GroupingError: ERROR: column "likes.id" must appear in the GROUP BY clause or be used in an aggregate function
一切都可以编译,但主页使用了该范围函数,所以我立即收到服务器错误。
【问题讨论】:
-
好吧,就像消息说的那样,将该列添加到
GROUP BY。
标签: ruby-on-rails postgresql sqlite activerecord heroku-postgres