2016-12-21 3 views
0

email,および/またはphoneでユーザーをフィルタしたいとします。クエリに「or」を追加する方法(レール)

私は私のusuarios_controller.rbでこれを持っている:

if params[:usuario] 
    @usuarios = Usuario.where({:Email => params[:usuario] }).order('created_at DESC') 
end 

私はこれに "OR" を追加するにはどうすればよいですか?

これらのすべてのパラメータのOR条件が必要です。

+0

は、しばらくの間にMongoDBを使用しますが、 '順( 'のcreated_atはありませんかdesc ') 'はActiveRecord/SQLのように見えますが、あなたの質問は' mongodb'というタグが付けられています。これはActiveRecordかMongoid/MongoMapperですか? –

答えて

0

次のようなwhere方法でORを使用することができます。

Usuario.where("email = ? OR name = ? or phone = ?", email_value, name_value, phone_value) 

それは次のSQLクエリを構築し、実行します:

SELECT "usuarios".* FROM "usuarios" WHERE (email = 'email_value' OR name = 'name_value' or phone = 'phone_value') 
関連する問題