Запрос даты в MySQL за месяц или неделю из ActiveRecord в Rails 3 - PullRequest
0 голосов
/ 08 марта 2012

Итак, у меня есть таблица, в которой есть две даты: начальная и конечная.Мне нужно иметь возможность запрашивать, чтобы узнать все записи, которые находятся в течение определенной недели.Так, например:

start: "2012-03-12 14:00:00", end: "2012-03-12 21:00:00"
start: "2012-03-13 14:00:00", end: "2012-03-13 21:00:00" 
start: "2012-03-14 13:00:00", end: "2012-03-14 20:00:00"
start: "2012-03-15 15:00:00", end: "2012-03-15 22:00:00"
start: "2012-03-16 14:00:00", end: "2012-03-16 21:00:00"

Я хочу вернуть все эти записи, запросив (как-то) «Какие записи попадают на неделю с 11 по 17 марта?»

Мне нужносделать это в ActiveRecord и Rails 3.2.1.Кроме того, я бы предпочел, если бы я мог сделать это из другой модели.Так как эти даты принадлежат другой модели, назовем ее ModelA.

ModelA.dates.where (Что мне когда-либо нужно делать)

Что-то в этом роде?

1 Ответ

1 голос
/ 08 марта 2012
ModelA.dates.where('start >= ? OR end <= ?', week_start, week_end)

Или:

ModelA.dates.where('start >= ? AND start <= ? AND end >= ? AND end <= ?', week_start, week_end, week_start, week_end)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...