2016-12-21 3 views
0

Я хочу фильтровать пользователей по email, name и/или phone.Как добавить «или» к моему запросу (рельсы)

У меня есть это в моем usuarios_controller.rb:

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

Как добавить "ИЛИ" к этому?

Я хочу условие ИЛИ среди всех этих параметров.

+0

Не использовали MongoDB на некоторое время, но 'заказ ('created_at desc ') 'выглядит как ActiveRecord/SQL для меня, но ваш вопрос помечен' mongodb'. Это ActiveRecord или Mongoid/MongoMapper? –

ответ

0

Вы можете использовать OR в where метод, как следующие:

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') 
Смежные вопросы