Я использую Laravel 4.2 и получаю все местоположения с помощью этого кода:
$locations = Location::all();
Эти местоположения впоследствии отображаются в поле выбора. Как добавить к результатам дополнительную строку, чтобы в поле выбора отображалась пустая первая опция.
Тогда варианты должны быть:
Я просто хочу добавить к результату дополнительный элемент в $ location.
заранее спасибо
Нет, я хочу знать, как изменить красноречивый результат. Я знаю, как это сделать на чистом HTML






Вы должны посмотреть на метод put для коллекций:
https://laravel.com/docs/5.6/collections#method-put
Этот метод недоступен в версии 4.2. Вы должны создать собственный класс Collection и использовать его в своей модели, перезаписав метод newCollection. https://laravel.com/docs/4.2/eloquent#collections
Коллекции недоступны в Laravel 4.2.
Похоже, вам нужно создать собственный класс коллекции. В документации 4.2 для красноречивого показано, как это сделать.
Ты можешь использовать:
{!! Form::select('location', ['' => 'Select your location'] + $locations, null , ['class' => 'form-control']) !!}
чтобы обновить вид. В Laravel 5 есть аксессоры атрибутов для добавления дополнительного поля к вашей красноречивой коллекции.
Еще несколько способов сделать это:
$locations[null] = 'choose a location';
Form::select('location', $locations);
Form::select('location',[null=>'Please Select'] + $locations);
Другой способ - просмотреть результат и обновить его. Используйте json_decode() или toArray (), чтобы преобразовать результат в формат массива.
В противном случае вам нужно сохранить choose a location как значение первой строки в вашей таблице locations (я знаю, что это не соответствует требованию).
Возможный дубликат Как мне сделать заполнитель для поля выбора?