ActiveRecord - сначала по алфавиту, затем по номеру - PullRequest
0 голосов
/ 13 октября 2018

Допустим, у меня есть коллекция товаров со следующими значениями для "имени":

  • Потрясающие кроссовки
  • Сверлильный зонт
  • 420 товар

Следующий код:

@products.reorder('name ASC') # I really need to use reorder in my code

отобразит результаты как есть:

  • 420 product
  • Потрясающие кроссовки
  • Скучный зонт

Что нужно настроить в reorder(), чтобы иметь следующий порядок:

  • Потрясающие кроссовки
  • Скучный зонт
  • 420 товар

Ответы [ 2 ]

0 голосов
/ 13 октября 2018
@products.reorder("(name ~ '^[0-9]'), name")

Объяснение: FALSE сортирует перед TRUE, поэтому цифровые значения будут последними.

0 голосов
/ 13 октября 2018
@products.reorder("(name !~* '^[a-z]'), name")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...