簡體   English   中英

'未知密鑰:擁有'在Ruby on Rails上的ActiveRecord查找方法

[英]'Unknown key(s): having' In Ruby on Rails ActiveRecord Find Method

我有一個項目需要使用agregrate函數來從我的一個活動記錄模型中排序和返回相關記錄。 問題是,盡管看到它在眾多的rails教程中使用,並且盡管它在在線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]
)

您確定您的RoR版本是最新的嗎? ActiveRecord提供支持:擁有(我認為)2年了,但可能你只是使用過時的版本?

如果無法更新rails環境,則仍可以使用HAVING子句將其添加到:group語句的末尾。

最好的希望,法比安

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM