我正在研究基于API的应用程序。每天晚上,根据API主数据库更新我的数据库。
有一个LastChangeTimestamp
列我正在为price_change_time
创建一个范围,例如下面
scope :price_change_time, -> {where("LastChangeTimestamp BETWEEN ? AND ?", (Time.zone.now - 1.day).beginning_of_day, (Time.zone.now - 1.day).end_of_day)}
这在下面没有工作和错误。
ActivereCord :: StatementInvalid:PG :: UndefinedColumn:错误:列" LastChangeTimestamp"不存在
我做错了什么?
尝试在列上添加以下单个引号,例如 'LastChangeTimestamp'
,然后查询看起来像
scope :price_change_time, -> {where("'LastChangeTimestamp' BETWEEN ? AND ?", (Time.zone.now - 1.day).beginning_of_day, (Time.zone.now - 1.day).end_of_day)}
默认情况下搜索lastchangetimestamp
在表上,但您的列名是LastChangeTimestamp
,这就是为什么他不认识LastChangeTimestamp
列
,或者您可以根据此命名lastchangetimestamp
或last_change_timestamp
的列和查询范围更新。
希望它有帮助
您可以使用Rails查询 range operator '..'
scope :price_change_time, -> {where(LastChangeTimestamp: (Time.zone.now - 1.day).beginning_of_day..(Time.zone.now - 1.day).end_of_day)}