Запрос с двумя условиями в Ruby - PullRequest
0 голосов
/ 22 мая 2018

У меня есть таблица Event, и я хотел бы сделать уникальный запрос, который имеет два условия.Я пробовал свои условия отдельно в консоли, они работают индивидуально.Но я не знаю, как их объединить.Запрос выглядит следующим образом:

Выберите событие с start:timedate выше сегодня (событие, которое еще не произошло)

Event.where("start > ? " ,Time.now).count

и также хотели бы выбрать событие из определенного user_id, такого как:

Event.where(user_id: "1").count

Как я могу объединить их в одном запросе, пожалуйста?Спасибо

Ответы [ 2 ]

0 голосов
/ 22 мая 2018

Попробуйте scope :

in Event.rb

scope :filter_by_time_user, ->(userId, time) { where('user_id = ? AND start > ?', userId, time) }

И вы можете называть это где угодно как:

Event.filter_by_time_user(1, Time.now).count
0 голосов
/ 22 мая 2018
Event.where("start > ? " ,Time.now).where(user_id: "1").count

альтернативно,

Event.where("user_id = 1 AND start > ?", Time.now).count

Вы также можете использовать операторы OR.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...