我要编辑task_status选择,但收到无效的foreach()参数错误。格式与Laravel集体中的其他格式类似。
{{Form::select('task_status', $task->task_status, [ 'On Hold'=> 'On Hold', 'Completed'=> 'Completed'], ['class' => 'form-control'])}}
答案 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
将其自动加载到选择标签
仅在编辑时