如何在Laravel Collective中编辑选择标签?

时间:2019-03-29 02:11:02

标签: php laravel forms select laravelcollective

我要编辑task_status选择,但收到无效的foreach()参数错误。格式与Laravel集体中的其他格式类似。

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

2 个答案:

答案 0 :(得分:0)

如其documentation中所述,您需要将选择选项值放置在下拉列表的默认选择值之前。

因此,这将是正确的语法:

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

答案 1 :(得分:0)

  

无效的foreach()参数错误。

仅当您不传递用于填充下拉列表的值时,才会发生这种情况

所以你需要知道参数

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

第一个参数=>'选择标记的名称'   task_status

     

第二个参数=>'Dropdown Values List'在您的情况下为其[ '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

将其自动加载到选择标签

仅在编辑时