【发布时间】:2011-06-30 10:31:08
【问题描述】:
我使用 Rails 3.0.4
这是我的 rails 应用程序中的一段 Arel 查询,如何使用 upcase 方法以与数据库无关的方式进行不区分大小写的搜索?
Customer.where("company_id = ? and (firstname like ? or lastname like ? or reference like ?)", current_user.company_id, "%#{params[:query]}%", "%#{params[:query]}%", "%#{params[:query]}%")
谢谢
【问题讨论】:
-
请记住,当您运行像 StefanS 提到的那个查询时,整个表将被加载和扫描,因为数据库引擎必须处理每一行以转换为小写然后比较,所以它可能是一个昂贵的查询。
标签: ruby-on-rails activerecord arel