У меня вопрос о получении данных БД.Cast created_at to timestamp при построении запроса
У меня есть модель Notification
, у нее есть стандартный атрибут Rails created_at
. Как вы знаете, в том же время ActiveSupport::TimeWithZone
объекта на доступе, это свойство действительно имеет очень точное значение, которое вы можете получить доступ к литью его to_i
или даже to_f
Так что теперь я хочу написать where
пункт для Notification
модели и найти уведомление, был создан через определенное время. Но так как множественные уведомления may've были созданы в ту же секунду, я хочу больше точности в моем запросе, так что я пытаюсь написать статью так:
Notification.where('created_at > ?', timestamp)
и doesen't похоже на работу.
Как мне создать значение created_at, чтобы иметь возможность сравнивать его с меткой времени?
Это не имеет супер точное значение. '.to_i' [Возвращает значение времени как целое число секунд со времен Эпохи] (http://ruby-doc.org/core-2.2.0/Time.html#method-i-to_i). Это все еще в секундах, а не в миллисекундах. –
как насчет [to_f] (http://ruby-doc.org/core-2.2.0/Time.html#method-i-to_f)? Имеет ли он более точное значение? – borisano
Это зависит от того, хранит ли ваша база данных миллисекунды. –