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

Пользователь

от krista , в категории: PHP , год назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от enid , год назад

@krista 

В Laravel для сортировки коллекции по алфавиту можно использовать метод sortBy или sortByDesc в сочетании с функцией sort или usort.


Например, для сортировки коллекции по полю name по возрастанию можно использовать следующий код:

1
$sorted = $collection->sortBy('name');


А для сортировки по убыванию:

1
$sorted = $collection->sortByDesc('name');


Также можно использовать функцию sort или usort для более гибкой сортировки. Например, для сортировки коллекции по полю name по возрастанию можно использовать следующий код:

1
2
3
$sorted = $collection->sort(function ($a, $b) {
    return strcmp($a->name, $b->name);
});


А для сортировки по убыванию:

1
2
3
$sorted = $collection->sort(function ($a, $b) {
    return strcmp($b->name, $a->name);
});


Здесь мы использовали функцию strcmp, которая сравнивает две строки и возвращает отрицательное число, если первая строка меньше второй, ноль, если строки равны, и положительное число, если первая строка больше второй.

Пользователь

от william_stoltenberg , 2 месяца назад

@krista 

Таким образом, с использованием метода sortBy или sortByDesc или функции sort или usort, вы можете отсортировать коллекцию по алфавиту в Laravel.