如何在ActiveRecord中执行LIKE%查询?

时间:2011-04-02 09:09:27

标签: ruby activerecord

我正在尝试找到一些包含某个字符串的项目。如果我这样做:

MyModel.where("description LIKE ?",keyword)

它将生成完全匹配的查询。我想让它生成一个LIKE %keyword%查询。我怎么能这样做?

4 个答案:

答案 0 :(得分:17)

like_keyword = "%#{keyword}%"    
MyModel.where("description LIKE ?", like_keyword)

答案 1 :(得分:10)

MyModel.where("description LIKE (?)", "%#{keyword}%")

答案 2 :(得分:0)

Model.where("name LIKE 'SH%'")

它将获取所有仅以SH开头的名称。它将100%工作。 例如。 SH123,SH2343

答案 3 :(得分:0)

您可以为此使用ILIKE

MyModel.where("description ILIKE (?)", "%#{keyword}%")