【发布时间】:2011-07-28 04:40:05
【问题描述】:
我正在尝试查找一些包含特定字符串的项目。如果我这样做:
MyModel.where("description LIKE ?",keyword)
它将生成一个完全匹配的查询。我想让它生成一个LIKE %keyword% 查询。我该怎么做?
【问题讨论】:
标签: ruby activerecord
我正在尝试查找一些包含特定字符串的项目。如果我这样做:
MyModel.where("description LIKE ?",keyword)
它将生成一个完全匹配的查询。我想让它生成一个LIKE %keyword% 查询。我该怎么做?
【问题讨论】:
标签: ruby activerecord
like_keyword = "%#{keyword}%"
MyModel.where("description LIKE ?", like_keyword)
【讨论】:
LIKE '%'keyword'%' 并引发异常。
LIKE 运算符进行搜索,但被难住了。我也在提前定义我的like keyword,然后做:collection = Model.where("attribute like ?", "% #{keyword} %")
MyModel.where("description LIKE (?)", "%#{keyword}%")
【讨论】:
Model.where("name LIKE 'SH%'")
它将获取所有仅以 SH 开头的名称。它将 100% 工作。 例如。 SH123,SH2343
【讨论】:
您可以为此使用 ILIKE
MyModel.where("description ILIKE (?)", "%#{keyword}%")
【讨论】: