gpt4 book ai didi

ruby-on-rails-3 - 从 Rails 将时间间隔存储在 PostgreSQL 中

转载 作者:行者123 更新时间:2023-11-29 11:43:58 25 4
gpt4 key购买 nike

我需要在 PosgreSQL 中存储时间间隔。数据将从 Ruby on Rails 放置。

比如说,必胜客在 9:00 到 18:00 之间接受订单。

我创建了以下迁移:

class AddOrderTimeAndDeliveryTimeToMerchants < ActiveRecord::Migration
def self.up
add_column :merchants, :order_time, :interval
end

我读过 documentation ,现在有以下代码:

Merchant.create( :delivery_time => "9:00 18:00" )

当我执行它时,我收到以下错误消息:

PGError: ERROR:  invalid input syntax for type interval: "9:00 18:00"

如何正确操作?

最佳答案

我认为间隔并不是您真正想要的。间隔表示没有任何特定终点的时间跨度;例如,您将一个时间间隔添加到现有时间以获得另一个时间。有两个不同的时间你会过得更好:

add_column :merchants, :order_from, :time, :null => false
add_column :merchants, :order_to, :time, :null => false

然后,如果出于某种原因您需要知道他们开放送货的时间,您可以通过从 :order_to 中减去 :order_from 来构造一个间隔。

如果你真的必须使用一个间隔,那么你需要构造一个像这样的值:

:delivery_time => "interval '11 hour'"

注意这说明了一个间隔不是从AB的特定时间范围,它只是某个特定长度的时间范围(没有指定的结束时间)点)。

关于ruby-on-rails-3 - 从 Rails 将时间间隔存储在 PostgreSQL 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6441775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com