Как найти записи с датой на следующей неделе в Rails 3.1? - PullRequest
0 голосов
/ 20 ноября 2011

У меня есть модель со столбцом datetime для прогнозируемых сроков поставки, и я хочу получить записи о заказах, которые будут доставлены на следующей неделе. Кто-нибудь знает лучший способ показать это?

model Orders

created_at, datetime
modified_at, datetime
deliver_at, datetime # stores a future date when the package will be delievered

Я пытаюсь получить все предметы с прогнозом deliver_at на следующую неделю.

Ответы [ 2 ]

6 голосов
/ 20 ноября 2011

Я предпочитаю этот метод, поскольку он позволяет избежать ненужного SQL:

Order.where(:deliver_at => Time.now.next_week..Time.now.next_week.end_of_week)

При этом будут найдены все заказы, в которых дата deliver_at находится между началом следующего понедельника и концом следующего воскресенья.

Я рекомендую проверить Руководство по Rails для интерфейса запросов ActiveRecord. Этот метод описан там.

0 голосов
/ 20 ноября 2011
Order.where("deliver_at > ? AND deliver_at < ?", Time.now.next_week, Time.now.next_week.end_of_week)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...