加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – Rails 4:列引用“updated_at”与Postgres不明确

发布时间:2020-12-17 02:48:51 所属栏目:百科 来源:网络整理
导读:我试图用’updated_at’字段的DateTime范围查询数据库.前端在 JSON数组中发送查询: ["2015-09-01 00:00:00","2015-10-02 23:00:00"] 在Rails控制器中,我使用以下方法将两个字符串解析为DateTime: start_date = DateTime.parse(params[:date_range_arr][0])
我试图用’updated_at’字段的DateTime范围查询数据库.前端在 JSON数组中发送查询:

["2015-09-01 00:00:00","2015-10-02 23:00:00"]

在Rails控制器中,我使用以下方法将两个字符串解析为DateTime:

start_date = DateTime.parse(params[:date_range_arr][0])
end_date = DateTime.parse(params[:date_range_arr][1])

#...
@events = @events.where('updated_at BETWEEN ? AND ?,start_date,end_date
)

查询显示:

WHERE (updated_at BETWEEN '2015-09-01 00:00:00.000000' AND '2015-10-02 23:00:00.000000')

错误是:

ActionView::Template::Error (PG::AmbiguousColumn: ERROR:  column reference "updated_at" is ambiguous
LINE 1: ...texts"."id" = "events"."context_id" WHERE (updated_at...

解决方法

您是否有任何机会在事件模型或上面的代码中包含原始问题中包含的连接或包含的默认范围?

无论哪种方式,您只需要更具体地查询您的查询,如下所示:

#...
@events = @events.where('events.updated_at BETWEEN ? AND ?,end_date
)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读