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 + '%')

出来た。

しかし、レールのやり方が気に入らないと思います。それを行うより良い方法はありますか?

4

1 に答える 1

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

regex_str は MySQL 正規表現文字列である必要があります

これを試して..

于 2014-09-22T10:43:38.913 に答える