Как отсортировать коллекцию по алфавиту в Laravel?
Как отсортировать коллекцию в Laravel в алфавитном порядке (от А до Z)?
Сейчас код выглядит следующим образом:
$cities = usort(Cities::all()->toArray(), fn($a, $b) => $a['name'] <=> $b['name']);
Результатом выполнения кода является ошибка: Only variables should be passed by reference. Если создать дополнительную, новую переменную, куда будет складываться результат выполнения этой сортировки, то всё нормально. В чём причина такого поведения?
Ответы (1 шт):
Автор решения: Anton Mironov
→ Ссылка
- Если вам надо отсортировать уже полученную коллекцию, воспользуйтесь методом
sortBy:
Cities::all()->sortBy('name');
- Вы также можете отсортировать данные на стороне Sql, воспользовавшись методом
orderBy:
Cities::orderBy('name')->get();