【发布时间】:2019-12-24 02:45:19
【问题描述】:
我的产品型号上有这个范围:
scope :all_products, lambda {
joins(:prices)
.where('prices.start_date <= ? and products.available = ?', Time.current, true)
.uniq
.order('CASE WHEN products.quantity >= products.min_quantity and (prices.finish_date IS NULL OR prices.finish_date >= now()) THEN 0 ELSE 1 END, prices.finish_date asc')
}
当我尝试运行它时出现以下错误:错误:对于 SELECT DISTINCT,ORDER BY 表达式必须出现在选择列表中
我如何使用我的 order by 并且查询是唯一的?我使用 Rails 4。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 activerecord