在Rails 3.2应用程序中,我有一个搜索字段,它在用户模型中使用以下例程。
def self.search(search)
if search
where('fullname LIKE ? OR email LIKE ?', "%#{search}%", "%#{search}%")
else
scoped
end
end
这似乎是执行区分大小写的搜索。如何修改它以使其不区分大小写?
非常感谢
答案 0 :(得分:5)
如果你正在使用Postgres,你可以使用'ilike':
def self.search(search)
if search
where('fullname ILIKE ? OR email ILIKE ?', "%#{search}%", "%#{search}%")
else
scoped
end
end
答案 1 :(得分:0)
当我在过去做过这个时,我已经使用了MySQL例程UPPER。像
这样的东西def self.search(search)
if search
where('UPPER(fullname) LIKE ? OR UPPER(email) LIKE ?', upcase(search), upcase(search))
else
scoped
end
end