Использование именованной области - PullRequest
0 голосов
/ 29 марта 2011

У меня есть модель расписания, имеющая время начала в качестве даты и длительность в минутах как целое число .

Используя именованную область видимости, есть ли способ получить записи, имеющие (start_time + duration) < current_time?

1 Ответ

2 голосов
/ 29 марта 2011

Вы можете реализовать то, что просили, с помощью функций манипуляции с датой на уровне SQL, например mysql's DATE_ADD :

scope :not_over, where('DATE_ADD(start_time, INTERVAL duration MINUTE) > UTC_TIMESTAMP()')

Хотя, если производительность имеет значение, вы можете предварительно рассчитать столбец 'end_time' и добавить в него индекс.

...