2015-08-13 3 views
0

Может кто-нибудь помочь мне для написания эквивалентного кода в Rails 4.0 для SQL нижеЭквивалент ActiveRecord запрос в рельсах для диапазона даты и времени

SELECT * FROM WHERE номера («2008-12-21 00:00:00» МЕЖДУ 'rooms.fromtime' AND 'rooms.totime')

В принципе у меня есть модель под названием Room, и у меня есть два столбца datetime, например, fromtime и totime во всех строках сейчас в любое время (из вида), которое будет вводимый новый, должен сравниваться с диапазоном времени и времени во всех строках, и если он попадает в диапазон любых строк, он должен через сообщение пользователю и не должен продолжать действовать. Любая информация относительно этого действительно поможет .. Спасибо заранее

ответ

1

Если вы хотите, чтобы захватить раз с точки зрения вы должны пройти PARAMS к контроллеру, а затем найти номера:

to = params[:to_time] 
from = params[:from_time] 

Room.where("fromtime <= ? AND totime >= ?", from, to) 

Replace отметки времени в примере с любыми временами, которые вам нужно проверить.

+0

спасибо nick .. но мне нужно получить от и от просмотра его можно выбрать у пользователя –

+0

Cool. Я обновил ответ. В принципе, вам просто нужно передать параметры любому контроллеру, который вы используете, чтобы принять ввод пользователя. –

+0

спасибо большое ник .. но здесь я думаю, что это только проверка времени> и <не диапазон .. в моем случае, например: если данные времени и времени в некоторых строках - 2015-08-15 13:00: 00 и 2015-08-15 14:00:00 .. тогда, если пользователь дает 2015-08-15 13:30:00 в следующий раз, он не должен позволять .. то есть он должен проверить это конкретное условие .. может помочь вам. –

Смежные вопросы