【发布时间】:2018-08-29 16:47:11
【问题描述】:
我正在尝试获取我表中的所有 created_at 时间戳,并从它减少大约 10 分钟(600 秒)。但我似乎无法弄清楚。
MyApp::Model::MyTable.select(:created_at).update(:created_at => :created_at - 600)
我从created_at 列中选择所有行并对所述行执行更新,以便现在每行都为created_at - 600 秒(10 分钟)。但是,当我尝试这个时,它会显示incompatible data types in combination。
谁能给我一个更好的解决方案?
【问题讨论】:
-
除其他外,这将是一种不安全的方法,因为不能保证
- 600会被解释为以秒为单位。或者更确切地说,仅从示例代码的方式来看并不能保证。我认为“不兼容的数据类型”是因为created_at是一个日期时间数据类型,而您正试图与它进行交互,就像它是一个整数一样。