2

我在我的 Rails 应用程序中有一个模糊搜索,我想要的 sql 是这样的:

select * from `user` where name like '%abc%'

我试过这样做:

name = 'abc'
User.where("name like '%?%'", name)

它失败了,在控制台中记录了:

select * from `user` where name like '%'abc'%'

最后我尝试了这个

name = 'abc'
User.where("name like ?", '%' + name + '%')

有效。

但我认为它不喜欢rails方式,有没有更好的方法呢?

4

1 回答 1

1
User.where("name REGEXP ?", 'regex_str')

并且 regex_str 应该是 MySQL 正则表达式字符串

尝试这个..

于 2014-09-22T10:43:38.913 回答