我有一个名为Review
的表,我想检索所有:stage
不等于"approve"
的评审对象。
这样的东西:Review.where(:stage not_equal_to "approve")
我怎么能真正做到这一点?以及在哪里可以找到我可以在.where
内进行的调用列表,例如小于、大于等。
使用纯字符串条件查询,这些查询在Rails Guideshttp://guides.rubyonrails.org/active_record_querying.html#pure-字符串条件。
Review.where("stage != ?", "approve")
如果在字符串条件中使用用户值,这可能会受到SQL查询的攻击,因此请使用如上所述的数组语法,该语法在清除后用每个传递的参数替换问号。
您可以简单地使用
Review.where("stage <> 'approve'")
此字符串将在SQL中的where子句中直接使用。非常小心不要使用Review.where("stage <> #{var}")
,因为它容易受到sql注入的攻击,而是使用Review.where("stage <> ?", var)