@eldar_web

Как в Ruby on Rails сортировать по алфавиту исключая в слове что-то?

Допустим, есть модель Address, с полей name.
А там такие записи:
ул Белова
ул Алексея
ул Фадеева

Из-за того, что в начале записей стоит "ул", сортировака по алфавиту не работает Address.order('name ASC')
Как можно решить проблему?
  • Вопрос задан
  • 504 просмотра
Пригласить эксперта
Ответы на вопрос 1
HighQuality
@HighQuality
☁ Ниндзя девелопер
В идеале вынести тип адреса в отдельное поле, но если сейчас нужно организовать по-быстрому отчет, можно использовать мощь postgresql (ее ведь используете?)

Address.order("SUBSTRING(name, 'ул\s?(.*)') ASC")

Этот способ при больших объемах данных будет работать медленно. Рекомендовал бы пересмотреть такой подход к сохранению адресов. :)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы