按轨道上的条件排序 4.



我有商品的价格具有确定的开始日期和完成日期。我想对 Active Record 进行查询以捕获开始日期小于当前日期的所有产品,但我想将它们订购到完成日期小于当前日期的产品,保留在我的结果的最终日期。

换句话说,我希望此查询在下面返回start_date小于当前日期的所有产品,但我希望按名称对结果进行排序,并且完成日期小于当前日期的产品始终停留在结果的最终位置。

Products.joins(:prices).where('prices.start_date <= ?', Time.current).order(:name)

我在这里使用轨道 4。

有人可以帮忙吗?

尝试使用

Products.joins(:prices).where('prices.start_date <= ?', Time.current).order(:name).order('prices.finish_date DESC')

最新更新