【发布时间】:2016-07-25 21:25:59
【问题描述】:
所以我正在使用 Rails (4.2.6) 和 PostgreSQL,我有一个表,其中包含一个名为 end_time 的时间类型字段,我遇到的问题是下一个:
SELECT end_time FROM group_periods;
将导致:
| end_time |
| 08:00:00 |
如您所见,它只带来包含在字段中的文本 (08:00:00),但如果我尝试在 Rails 中执行它,它会带来 end_time 一个时间对象,即使我将其转换为文本
GroupPeriod.select("end_time")
将导致:
=> #<ActiveRecord::Relation [#<GroupPeriod id:nil, end_time: "2000-01-01 08:00:00">]>
在我尝试访问 end_time 对象后,它会为 Ruby 带来一个 Time 对象。
我也试过了,结果一样:
GroupPeriod.select("end_time::text")
GroupPeriod.select("to_char(end_time, 'HH24:MI') end_time")
如何将字段 end_time 作为字符串获取,以便每当我访问该字段时,我都会得到与 Postgres 相同的结果?
编辑
由于我有数千条记录,因此没有机会在每条记录上执行 strftime 并获取字符串格式,这是我已经尝试将字段转换为文本的主要原因,因此 rails 将返回字符串而不是一个时间对象。
【问题讨论】:
标签: ruby-on-rails ruby postgresql ruby-on-rails-4