【发布时间】:2011-10-31 19:29:54
【问题描述】:
在我的 Rails 应用程序中,我使用以下 PostgreSQL 查询来查找过去一周评论最多的故事。
last_week = Date.today() - 7
most_commented_comments = Comment.find_by_sql("SELECT story_id, COUNT(*) AS total FROM comments WHERE created_at >= (CAST '#{last_week}' AS date) GROUP BY story_id ORDER BY 2 DESC LIMIT #{limit}")
我遇到了一些跨平台兼容性问题,尤其是created_at >=... 子句,我想让这个查询整体上不那么脆弱。但是,我似乎无法找到将这样的复杂查询放入 Rails 提供的 ActiveRecord 包装器的方法。有可能吗?
【问题讨论】:
标签: ruby-on-rails postgresql activerecord