Удалить утомительную & lt; optgroup & gt; в строителе в коллективе Laravel

Я использую коллективный конструктор форм Laravel для создания форм. Я использовал выбрать, как это:

<div class="form-group">
{!! Form::label('module', 'Modul'); !!}
{!! Form::select('module_id', [$modules], $data->module_id) !!}
</div>

По неизвестным причинам тег появляется в моем коде. Я не хочу этого там, но я действительно не могу найти простой способ, как удалить это. Спасибо за помощь

1

Решение

Рассматривая исходный код пакета и тесты, мы видим, что 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>
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector