我在控制器中有这个:
Konkurrencer.where("title LIKE ?", "%#{params[:q]}%").limit(4)
我认为此查询区分大小写。它不应该区分大小写。
答案 0 :(得分:30)
您可以在其中使用ILIKE
代替:
Konkurrencer.where("title ILIKE ?", "%#{params[:q]}%").limit(4)
来自doc:
可以使用关键字ILIKE而不是LIKE来进行匹配 根据活动区域设置不区分大小写。这不在 SQL标准,但是PostgreSQL扩展。
答案 1 :(得分:2)
使用LOWER ...
在PostgreSQL中搜索不区分大小写示例:
def self.search(client, date_start, date_end)
joins(:customer).where("LOWER(customers.name) LIKE ? AND date >= ? AND date <= ?", "%#{client}%", date_start, date_end)
end