Я знаю, что при использовании построителя запросов можно сортировать по нескольким столбцам с помощью
...orderBy('column1')->orderBy('column2')
но теперь я имею дело с объектом collection. Коллекции имеют метод sortBy
, но мне не удалось выяснить, как заставить его работать для нескольких столбцов. Интуитивно я сначала попытался использовать тот же синтаксис, что и orderBy
.
sortBy('column1')->sortBy('column2)
но это, по-видимому, просто применяет сортировки последовательно и заканчивается сортировкой по столбцу2 без учета столбца1. Я попробовал
sortBy('column1', 'column2')
но это порождает ошибку: "asort() ожидает, что параметр 2 длинный, строка задана". Использование
sortBy('column1, column2')
не выдает ошибку, но сортировка кажется довольно случайной, поэтому я не знаю, что это на самом деле. Я посмотрел на код метода sortBy, но, к сожалению, мне трудно понять, как это работает.