Ruby on rails 如何基于两个字段进行排序
我有一个带有Ruby on rails 如何基于两个字段进行排序,ruby-on-rails,ruby,sqlite,activerecord,rails-activerecord,Ruby On Rails,Ruby,Sqlite,Activerecord,Rails Activerecord,我有一个带有price和sale\u price字段的产品模型 我想根据price按升序对记录进行排序,但如果产品具有sale\u price值,则应根据sale\u price而不是price对其进行排序: Product.id:1, Product.name:watch, Product.price:100, Product.sale_price:nil Product.id:2, Product.name:Bag, Product.price:200, Product.sale_price
price
和sale\u price
字段的产品模型
我想根据price
按升序对记录进行排序,但如果产品具有sale\u price
值,则应根据sale\u price
而不是price
对其进行排序:
Product.id:1, Product.name:watch, Product.price:100, Product.sale_price:nil
Product.id:2, Product.name:Bag, Product.price:200, Product.sale_price:50
Product.id:3, Product.name:Shoes, Product.price:300, Product.sale_price:nil
Product.order('coalesce(sale_price, price)')
我希望将其分类为:
您可以尝试使用
合并:
Product.id:1, Product.name:watch, Product.price:100, Product.sale_price:nil
Product.id:2, Product.name:Bag, Product.price:200, Product.sale_price:50
Product.id:3, Product.name:Shoes, Product.price:300, Product.sale_price:nil
Product.order('coalesce(sale_price, price)')
欢迎来到堆栈溢出。请阅读“”,包括链接和“”。我们需要看到你努力解决这个问题的证据。现在看起来你什么都没做,只是想让我们为你写代码,这不是你的目的。