ruby-on-rails – 如何制作“Like Clause”Case-Insensitive

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 如何制作“Like Clause”Case-Insensitive前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
嗨我在 Ruby On Rails中使用LIKE子句,当我尝试通过键入“more”来搜索记录时它不会返回任何内容,但是当我使用“More”时,它会返回包含More keyword的记录,所以它似乎表现为区分大小写,
现在我的问题是我们可以将它设为Case-Insensitive,如果是,请告诉我.

这是我目前使用的查询

Job.where('title LIKE ? OR duration LIKE ?',"%#{params[:search]}%","%#{params[:search]}%")

谢谢.

解决方法

我假设你正在使用Postgres.

你可以使用ILIKE

Job.where('title ILIKE ? OR duration ILIKE ?',"%#{params[:search]}%")

或者一些棘手的黑客():

Job.where('lower(title) LIKE lower(?) OR lower(duration) LIKE lower(?)',"%#{params[:search]}%")
原文链接:https://www.f2er.com/ruby/267315.html

猜你在找的Ruby相关文章