我有一个范围,它从数据库中提取所有调用,状态为打开,分配了单位,并且 transfer_date <= Date.today。
scope :open_calls, lambda { open_status.includes(:call_units).where(["call_units.unit_id IS NOT NULL"]).where("EXTRACT(DAY FROM transfer_date) <= ? AND EXTRACT(MONTH FROM transfer_date) <= ?", Date.today.day, Date.today.month).order("calls.id ASC") }
我遇到的问题是,如果我将呼叫的转移日期设置为今天晚上 9:30,则呼叫不包含在范围内。我认为这与 UTC/时区有关。我试图找出编写此范围的最佳方法是什么,以便我可以拉出所有调用 <= Date.today 并显示正确的结果。
我在查询中使用 postgres btw ergo EXTRACT。