Как редактировать Выбрать тег в Laravel Collective? - PullRequest
0 голосов
/ 29 марта 2019

Я хочу отредактировать выбор task_status, но получаю неверный аргумент foreach (). Формат аналогичен другим формам из Коллектива Laravel.

{{Form::select('task_status', $task->task_status, [ 'On Hold'=> 'On Hold', 'Completed'=> 'Completed'], ['class' => 'form-control'])}}

Ответы [ 2 ]

0 голосов
/ 29 марта 2019

неверный аргумент foreach ().

Это произойдет, только если вы не передадите значения для заполнения раскрывающегося списка

Итак, вам нужно знать аргументы

function select(
        $name,
        $list = [],
        $selected = null,
        array $selectAttributes = [],
        array $optionsAttributes = [],
        array $optgroupsAttributes = []
    )

Первый аргумент => 'имя тега выбора' в вашем случае его task_status

Второй аргумент => 'Раскрывающийся список значений' в вашем случае это [ 'On Hold'=> 'On Hold', 'Completed'=> 'Completed']

Третий аргумент => «выбранный вариант (ы)» в вашем случае его $task->task_status (используется при редактировании)

Четвертый аргумент => «необязательные атрибуты» в вашем случае это ['class' => 'form-control']

Таким образом, конечная функция может выглядеть как

{!!Form::select('task_status',[ 'On Hold'=> 'On Hold', 'Completed'=> 'Completed'],$task->task_status,['class' => 'form-control'])!!}

Если вы используете

Form::model() для заполнения значений во время редактирования вам не нужно добавлять $task->task_status

в выбранный тег будет автоматически загружен

ТОЛЬКО ПРИ РЕДАКТИРОВАНИИ

0 голосов
/ 29 марта 2019

Как указано в их документации , вам необходимо поместить значения опции выбора перед выбранным по умолчанию значением раскрывающегося списка.

Следовательно, это будет правильный синтаксис:

{{Form::select('task_status', [ 'On Hold' => 'On Hold', 'Completed' => 'Completed'], $task->task_status, ['class' => 'form-control'])}}
...