好,所以这个问题大约持续了3天,我肯定这很简单,我似乎无法弄清楚。
我创建了一个范围以返回所有用户,两天之间有一个生日以及一些其他条件之后,我遇到了一个问题。该信息应该呈现给用户仪表板。
这是困扰我的地方,如果我刷新页面,则找到0条记录。如果我在Rails控制台(开发环境)中运行范围,它还会返回0条记录。但是,如果我从控制台复制查询(打开活动记录器)并将其直接放入我的sql客户端中,它将返回正确的记录。该范围也与其他几个范围链接在一起,但是如果我要从查询链中删除此范围,则该查询有效,只是不像我希望此范围那样过滤出生日期的日期。] >
是,sql客户端在同一数据库上。
范围:
where( "(date_of_birth <= ?) OR DATE_ADD(date_of_birth, INTERVAL ? YEAR) BETWEEN ? AND ?", min_age.years.ago.to_date, min_age, beginning_of_month, end_of_month )
查询:
SELECT
drivers
。* FROMdrivers
WHERE((date_of_birth <='1990-02-05')或DATE_ADD(出生日期,间隔23年)'2013-04-01'和'2013-04-30')和(drivers.id不在(选择follow_ups中的driver_id,其中team_id = 2))和(average_miles_per_day> = 0.35)AND(travel_time <2000)AND(travel_time +(average_miles_per_day * 84)> = 2000)Anytime rails试图执行此查询,它不起作用。在sql客户端中执行此查询时,它就像一个超级按钮。
好,所以这个问题已经出现了3天了,我肯定这很简单,我似乎无法弄清楚。创建范围以返回所有具有...
也许...字符串到日期的转换有问题。尝试使用STR_TO_DATE()函数在模型中进行转换。请为每个日期执行此操作...让我知道它会有所帮助。