我有一个查询将返回按照我的字段'forecast_date'订单的行,但此信息可以为null,因此在'group_by'之后,我设置了一个字符串'没有Forecast“作为没有forecast_date的行的关键。排序日期数组中的一个字符串
当我想要显示的行,我需要通过forecast_date订购,但铁轨给我一个错误:
orders.keys
给我[Tue, 08 Apr 2014, 'N/A', Tue, 09 May 2013, 01 Jan 2012]
我尝试了这种方式:
@orders = Orders.where('customer_id = 9');
orders = @orders.group_by { | order | order.forecast_date.try(:to_date) }
orders.keys.sort # And obtain this error
ArgumentError: comparison of Date with String failed
如何避免这种情况并正确排列行?
请发布实际查询的代码。通过sql确定排序问题可能更容易。 – engineersmnky
编辑@engineersmnky – LucasMelo
您的Rails AR查询在惯例中是错误的,其中(:id => 9)将返回一个AR数组中的单个记录。 –