Я хочу упростить выпадающее меню в laravel, любые предложения открыты :)
Это мой код миграции:
Schema::create('profile', function (Blueprint $table) {
$table->uuid('id')->primary();
$table->enum('hobby', ['Reading','Swimming','Other'])->default('Reading');
и это мой код просмотра для создания раскрывающегося меню (create.blade.php)
<div class='form-group col-md-6'>
<label class='control-label'>Hobby <span class = "text-danger"></span></label>
<select class='form-control select2' name='hobby'>
<option value = "Reading" selected = "">Reading</option>
<option value = "Swimming" selected = "">Swimming</option>
<option value = "Other" selected = "">Other</option>
пока этот код работает нормально, но возможно ли это, если я использую @foreach, чтобы упростить его? и как? или любое другое предложение?






В методе create вашего контроллера найдите все возможные увлечения и передайте их представлению:
$hobies = ['Reading','Swimming','Other'];
return view('create', compact('hobies'));
В представлении:
<div class='form-group col-md-6'>
<label class='control-label'>Hobby <span class = "text-danger"></span></label>
<select class='form-control select2' name='hobby'>
@foreach ($hobies as $hoby)
<option value = "{{$hoby}}" selected = "">{{$hoby}}</option>
@endforeach
я также делаю массив для функции редактирования, но данные не отображаются в соответствии с предыдущими данными: это мой код для функции редактирования: @foreach ($ hobies as $ hobby) <option value = '{{$ hobby }} '{{старое (' хобби ') == $ хобби? 'selected': ''}}> {{$ hobby}} </option> @endforeach
Я просто добавляю это {{старое ('хобби', $ profile-> хобби), поэтому полный код выглядит примерно так @foreach ($ hobies as $ hobby) <option value = '{{$ hobby}}' {{old ( 'хобби', $ profile-> hobby) == $ hobby? 'selected': ''}}> {{$ hobby}} </option> @endforeach
Я также добавляю код массива в функцию редактирования на контроллере
Рад помочь :)