Laravel eloquent lists - Сортировка списка значений столбцов
Использование laravel, и я создаю поле выбора в форме. Я использую помощника для создания окна выбора, и все работает нормально.
Я извлекаю данные для окна выбора из базы данных и использую следующее для извлечения данных:
$data = model::lists('name','id')
Снова все работает нормально, и это возвращает ожидаемый массив
Моя проблема, хотя я не могу сортировать этот список - я попытался добавить orderBy(), но без радости.
Кроме использования встроенной функции php существует ли метод laravel для сортировки списка?
Ответы
Ответ 1
Вы можете поместить все, что хотите, а затем перечислите его. Я имею в виду:
model::orderBy('orderByColumn')->lists('name', 'id');
Пока lists
- последний метод в цепочке, другие методы работают отлично.
Начиная с Laravel версии 5.3 lists
будет устаревшим, вместо этого используйте pluck
:
model::orderBy('orderByColumn')->pluck('name', 'id');
Ответ 2
Вы можете попробовать:
$data = model::select('name','id')->orderBy('name');
Если это не работает, введите ->get()
в конец:
$data = model::select('name','id')->orderBy('name')->get();