【发布时间】:2019-07-28 04:30:21
【问题描述】:
我正在尝试在 2 个日期之间进行搜索。我创建了一个带有 2 个字段的高级搜索表单,date_from 和 date_to。我想使用这些字段在 created_at 和 completed_at 的日期范围之间进行搜索。
我写了一个查询,但我得到了空白结果(没有条目):
def search_requests
requests = Request.all
requests = requests.where("created_at > ? AND completed_at < ?", date_from, date_to)
requests = requests.where(["title LIKE ? OR description LIKE ?", "%#{keywords}%", "%#{keywords}%"]) if keywords.present?
requests = requests.where(["incomplete LIKE ?", incomplete]) if incomplete.present?
return requests
end
【问题讨论】:
-
@sawa 我想知道在 2 个日期字段之间执行此搜索的正确语法
-
date_from和date_to究竟来自哪里?Time、Date或只是String的两个实例? -
它们是刚刚为搜索表单创建的日期时间字段类型。 @spickermann
-
你能分享一个示例请求的日志条目吗?尤其是浏览器传入的参数和Rails生成的SQL查询字符串?
标签: ruby-on-rails ruby sqlite search