我在我的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方式,有没有更好的方法呢?
答案 0 :(得分:1)
User.where("name REGEXP ?", 'regex_str')
和regex_str应该是MySQL正则表达式字符串
试试这个..