2016-03-22 10 views
0

where句でいくつかの結果を見つけるためにregexpを使用しようとしています。しかし、結果は期待どおりになる。どんな助けでも本当に感謝します。mysqlのregexpをRailsのwhere節と組み合わせて使用​​する

ユーザー名は文字列ではなく、ルビー、正規表現でasha123

データベースクエリ

User.where('username REGEXP ?', /(asha|asha)/) 

結果

User Load (0.4ms) SELECT `users`.* FROM `users` WHERE (username REGEXP '--- !ruby/regexp /(asha|asha)/\n...\n') 

=> #<ActiveRecord::Relation []> 
+0

は '(アシャ|アシャ)は'同じマッチする|

User.where( 'ユーザー名REGEXP?'、 "#{LAST_NAME})(#{FIRST_NAME}"):あなたはfirst_namelast_name変数を持っていたとしましょう単純に「asha」と表示します。 –

答えて

2

パスです。例:

User.where('username REGEXP ?', '(asha|asha)') 

データベースは「正規表現」を期待しているが、ActiveRecordはない - それはちょうどあなたの?文字列値に置き換えたいです。

更新:変数を使用する:二重引用符内の通常の変数補間を使用する。

+0

ちょっと感謝ジョシュアそれは働いています:)私はいくつかの変数にashaを持っている場合と同じように変数を与えることができますか?どうすればいいですか? –

+0

私は自分の答えを更新しました。 –

+0

ジョシュアありがとう。その作業:-) –

関連する問題