我在rails中有以下查询...
@registrations = Registration.where(Orientation.where(class_date: @start_date..@end_date))
查询本身不会引发错误,但是,如果我尝试检查@registrations对变量执行任何操作,则会收到错误...
Cannot visit ActiveRecord::Relation
有任何想法吗?
Orientation.where(class_date: @start_date..@end_date)
您喜欢的范围查询吗
SELECT * FROM orientations WHERE class_date BETWEEN <start_date> AND <end_date>
更新
Registration.where(created_at: @start_date..@end_date).
joins(:orientation).
where('orientations.created_at' => @start_date..@end_date)
将做出以下SQL
我认为您需要的
SELECT registrations.* FROM registrations INNER JOIN orientations ON orientations.id = registrations.orientation_id WHERE (registrations.created_at BETWEEN '2014-02-17 16:01:41' AND '2014-02-19 16:01:41') AND (orientations.created_at BETWEEN '2014-02-17 16:01:41' AND '2014-02-19 16:01:41')
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句