我正在尝试查找一些包含特定字符串的项。如果我做:
MyModel.where("description LIKE ?",keyword)
它将生成一个精确匹配的查询。我想让它生成LIKE %keyword%
查询。我该如何做?
我正在尝试查找一些包含特定字符串的项。如果我做:
MyModel.where("description LIKE ?",keyword)
它将生成一个精确匹配的查询。我想让它生成LIKE %keyword%
查询。我该如何做?
like_keyword = "%#{keyword}%"
MyModel.where("description LIKE ?", like_keyword)
MyModel.where("description LIKE (?)", "%#{keyword}%")
Model.where("name LIKE 'SH%'")
它将获取所有以SH开头的名称。 它将百分之百地工作。 例如:SH123,SH2343
对于PostgreSQL,它将是
MyModel.where("description ILIKE ?", "%#{query}%")
你可以使用 ILIKE 来实现这个功能
MyModel.where("description ILIKE (?)", "%#{keyword}%")
LIKE'%关键字%'
结尾,会抛出异常。 - GeoLIKE
运算符进行搜索,但卡住了。我预先定义了我的like 关键字
,然后执行以下操作:collection = Model.where("attribute like ?", "% #{keyword} %")
。 - Tass