Как отсортировать коллекцию по алфавиту в Laravel?

Рейтинг: 0Ответов: 1Опубликовано: 30.01.2023

Как отсортировать коллекцию в Laravel в алфавитном порядке (от А до Z)?

Сейчас код выглядит следующим образом:

$cities = usort(Cities::all()->toArray(), fn($a, $b) => $a['name'] <=> $b['name']);

Результатом выполнения кода является ошибка: Only variables should be passed by reference. Если создать дополнительную, новую переменную, куда будет складываться результат выполнения этой сортировки, то всё нормально. В чём причина такого поведения?

Ответы

▲ 1Принят
  1. Если вам надо отсортировать уже полученную коллекцию, воспользуйтесь методом sortBy:
Cities::all()->sortBy('name');
  1. Вы также можете отсортировать данные на стороне Sql, воспользовавшись методом orderBy:
Cities::orderBy('name')->get();