В Laravel существует несколько способов сделать приоритет в коллекции. Рассмотрим их подробнее.
1. Использование метода sortBy():
Метод sortBy() позволяет сортировать коллекцию по указанному ключу или используя пользовательскую функцию сравнения.
Пример сортировки коллекции по приоритету:
$collection = collect([ ['name' => 'Task 1', 'priority' => 3], ['name' => 'Task 2', 'priority' => 1], ['name' => 'Task 3', 'priority' => 2], ]); $sorted = $collection->sortBy('priority');
2. Использование метода sort():
Метод sort() может быть использован для сортировки коллекции по её значениям при определенных условиях, в том числе приоритетах.
Пример сортировки коллекции с использованием пользовательской функции сравнения:
$collection = collect([3, 1, 2]); $sorted = $collection->sort(function ($a, $b) { if ($a == 1) { return -1; } elseif ($b == 1) { return 1; } else { return $a - $b; } });
3. Использование метода values():
Метод values() позволяет переупорядочить коллекцию так, чтобы её ключи стали последовательными номерами, а их значения сохранены в новой коллекции с сохранением порядка.
Пример сортировки коллекции по приоритету с использованием метода values():
$collection = collect([ 'Task 1' => 3, 'Task 2' => 1, 'Task 3' => 2, ]); $sorted = $collection->sort()->values();
После применения одного из методов сортировки к коллекции, вы получите отсортированную коллекцию с учетом приоритетов.