具有活动记录查询接口的模糊搜索

我在我的rails应用程序中进行模糊搜索,我想要的是这个:

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方式,有没有更好的方法呢?

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

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

试试这个..

Interesting Posts