在Rails Active Record查询中使用大于或小于

时间:2014-12-30 17:51:06

标签: ruby-on-rails rails-activerecord

问题 has_many question_tags

如何解决所有问题

  1. 使用名称为“javascript”的 question_tag
  2. 未回答
  3. 有超过2“vote_count”吗?
  4. 以下是表格:

    Questions
      is_answered:boolean
      vote_count:integer
    
    QuestionTags
      name:string
      question_id:integer
    

    这是我到目前为止的查询。它做#1和#2。 我该怎么做#3?

    Question.joins(:question_tags).where(question_tags: {name: "javascript"}, question: {is_answered: false})
    

1 个答案:

答案 0 :(得分:4)

这看起来像是this question的副本。你想要的是where的字符串或数组语法。

Question.joins(:question_tags).where(question_tags: {name: "javascript"}, is_answered: false).where(["#{Question.table_name}.vote_count > ?", 2])

更新为在最后一个where子句中包含表名。