Я использую коллективный конструктор форм Laravel для создания форм. Я использовал выбрать, как это:
<div class="form-group">
{!! Form::label('module', 'Modul'); !!}
{!! Form::select('module_id', [$modules], $data->module_id) !!}
</div>
По неизвестным причинам тег появляется в моем коде. Я не хочу этого там, но я действительно не могу найти простой способ, как удалить это. Спасибо за помощь
Рассматривая исходный код пакета и тесты, мы видим, что optgroup
Включено если передаваемый массив многомерен, вы можете видеть, что в этом тесте.
Изучив предоставленный вами код, мы видим, что вы создаете новый массив, содержащий $modules
:
Form::select('module_id', [$modules], $data->module_id)
Что означает, что если $modules
является уже массив, вы создаете многомерный массив. Это то, что select()
метод получения:
[
[
"a",
"b",
"c",
],
Ключа нет, поэтому массив имеет числовой ключ, начиная с 0, поэтому optgroup
label
значение 0
, Вы должны передавать одноуровневый массив, если вы хотите иметь один уровень опций в вашем выборе, например:
[
"a",
"b",
"c",
]
Вы можете исправить это, не вкладывая свой массив в другой массив, [$modules]
становится $modules
:
<div class="form-group">
{!! Form::label('module', 'Modul'); !!}
{!! Form::select('module_id', $modules, $data->module_id) !!}
</div>
Других решений пока нет …