Amr*_*ngh 7 ruby postgresql activerecord ruby-on-rails
我在Ruby On Rails中使用LIKE子句.当我尝试通过键入"更多"来搜索记录时,它不会返回任何内容,但是当我使用"更多"时,它会返回包含更多关键字的记录,因此它看起来像是以区分大小写的方式运行.
是否可以使这种不区分大小写?
这是我目前使用的查询:
Job.where('title LIKE ? OR duration LIKE ?', "%#{params[:search]}%", "%#{params[:search]}%")
Run Code Online (Sandbox Code Playgroud)
Зел*_*ный 16
我假设你正在使用Postgres.
您可以使用 ILIKE
Job.where('title ILIKE ? OR duration ILIKE ?', "%#{params[:search]}%", "%#{params[:search]}%")
Run Code Online (Sandbox Code Playgroud)
或者一些棘手的黑客攻击lower():
Job.where('lower(title) LIKE lower(?) OR lower(duration) LIKE lower(?)', "%#{params[:search]}%", "%#{params[:search]}%")
Run Code Online (Sandbox Code Playgroud)