Ton*_*yGW 5 ruby postgresql datetime ruby-on-rails-4
我试图用' updated_at
'字段的DateTime范围查询数据库.前端在JSON数组中发送查询:
["2015-09-01 00:00:00","2015-10-02 23:00:00"]
Run Code Online (Sandbox Code Playgroud)
在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
)
Run Code Online (Sandbox Code Playgroud)
查询显示:
WHERE (updated_at BETWEEN '2015-09-01 00:00:00.000000' AND '2015-10-02 23:00:00.000000')
Run Code Online (Sandbox Code Playgroud)
错误是:
ActionView::Template::Error (PG::AmbiguousColumn: ERROR: column reference "updated_at" is ambiguous
LINE 1: ...texts"."id" = "events"."context_id" WHERE (updated_at...
Run Code Online (Sandbox Code Playgroud)
小智 9
您是否有任何机会在事件模型或上面的代码中包含原始问题中包含的连接或包含的默认范围?
无论哪种方式,您只需要更具体地查询您的查询,如下所示:
#...
@events = @events.where('events.updated_at BETWEEN ? AND ?,
start_date, end_date
)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1756 次 |
最近记录: |