'未知键(S):具有' 在Ruby on Rails的ActiveRecord的查找方法
-
11-09-2019 - |
题
我有需要使用agregrate功能进行排序,并从我的活动记录的车型之一返回相关记录的项目。问题是,尽管看到它在许多轨道教程中使用,尽管它的网上ActiveRecord的文档之中,我的Rails应用程序在我抛出这个错误时调用该方法:
Unknown key(s): having
任何想法,为什么?
我使用它像这样(我有一个:group =>
面前有工作,因为没有了:具有代码执行得当,它只是不过滤 - 这是我所需要的。):
Question.find(
:all,
:select => "questions.id, questions.text, questions.question_type_id, questions.meta, questions.max_answer_length, CAST(COUNT(form_questions.id) AS REAL) / CAST((SELECT COUNT(*) FROM application_forms) AS REAL) AS expr1",
:joins => "INNER JOIN form_questions ON questions.id = form_questions.question_id",
:order => "expr1 DESC",
:group => "questions.id, questions.text, questions.question_type_id, questions.meta, questions.max_answer_length",
:having => ["expr1 >= ?", 0.75]
)
解决方案
您确认您的回报率的版本是最新的吗? ActiveRecord的提供支持:现在具有(我认为)2年,但可能你仅仅使用过时的版本?
如果您不能更新您的Rails环境仍然可以将其添加到您的末尾使用HAVING子句:组声明
最佳希望, 费边
不隶属于 StackOverflow