2016-06-17 2 views
-2

У меня есть модель продукта с price и sale_price полей.Как отсортировать по двум полям

Я хочу, чтобы отсортировать записи в соответствии с price в порядке возрастания, но если продукт имеет значение sale_price, то он должен быть отсортирован по 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 

Я хочу, чтобы отсортировать как:

  1. сумка
  2. смотреть
  3. обувь
+0

Добро пожаловать на переполнение стека. Пожалуйста, прочитайте «[ask]», включая ссылки, и «[mcve]». Нам нужно увидеть доказательства ваших попыток решить эту проблему. Прямо сейчас, похоже, что вы ничего не делали и хотите, чтобы мы писали код для вас, для чего это не так. –

ответ

1

Вы можете попробовать с coalesce:

Product.order('coalesce(sale_price, price)') 
Смежные вопросы