Rails 5.2 ruby 2.6
Привет всем,
У меня есть модель со столбцами status и updated_at made_at (также есть несколько других столбцов). Возможные значения состояния: «Ожидание», «На маршруте», «Завершено».
Я хочу запросить таблицу так, чтобы:
- Все записи должны иметь статус «Ожидание»,По маршруту и Завершено.
- Если статус «завершен», то его updated_at должен быть в течение последних 24 часов.
- Не следует выбирать все остальные записи со статусом «завершено» с разными временными метками.
@result =
Model1.includes(Model2: [:model3, :model4, :model5, :model6])
.where(conditions)
.where('Model1.status = ? AND Model1.updated_at > ?', 'Completed', 24.hours.ago)
.order('Model1.created_at DESC')
Выше приведен пример структуры активной записивыполнение запроса. Этот запрос печатает только завершенные в течение последних 24 часов. но все остальные статусы не собираются.