Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 使用Laravel 4创建表单数组_Arrays_Forms_Laravel_Laravel 4 - Fatal编程技术网

Arrays 使用Laravel 4创建表单数组

Arrays 使用Laravel 4创建表单数组,arrays,forms,laravel,laravel-4,Arrays,Forms,Laravel,Laravel 4,在Laravel 4中,我可以使用如下代码创建文本输入: {{ Form::text('title', '', ['placeholder' => 'Ex. title', 'id' => 'title']) }} 这是非常有用的,因为如果表单中的其他字段未通过验证,我只需执行 return Redirect::back()->withErrors($validator)->withInput(Input::all()); 当表单再次显示时,字段title将保留以前提

在Laravel 4中,我可以使用如下代码创建文本输入:

{{ Form::text('title', '', ['placeholder' => 'Ex. title', 'id' => 'title']) }}
这是非常有用的,因为如果表单中的其他字段未通过验证,我只需执行

return Redirect::back()->withErrors($validator)->withInput(Input::all());
当表单再次显示时,字段
title
将保留以前提交的值

好东西

现在我的问题是:输入数组如何

我在表单中添加了以下输入字段:

<input type="text" name="option[]" />
<input type="text" name="option[]" />
<input type="text" name="option[]" />
<input type="text" name="option[]" />
现在,我知道我可以手动处理数组选项的填充,可能如下所示:

$options = Input::get('option');
return Redirect::back()
    ->withErrors($validator)
    ->withInput(Input::except('option'))
    ->with('options', $options);
然后在刀片模板上循环使用$option数组

是的,那可能有用。但这有点不太靠谱,它仍然错过了Laravel在提交失败后自动填充字段的强大工作流程,就像我在
title
中所做的那样。所以我的问题是:


在这些情况下,Laravel 4中是否有任何内置方法来处理输入数组?

如果您为每个输入添加索引,如:

{{Form::text('option[1]')}{{{Form::text('option[2]')}}
它会工作的


您可以在创建输入的函数中的
vendor\laravel\framework\src\illumb\Html\FormBuilder.php
中看到这是如何工作的

我曾经尝试过这样做,但我遇到了这个错误
您到底尝试了什么?我可以看到预期的输出,但您是如何尝试并实现它的?正如所写的那样。我添加了一组文本字段,这些字段是数组“option[]”,当响应“return Redirect::back()->withErrors($validator)->withInput(Input::all());”时,这些字段不仅没有填充,而且Laravel抛出了一个错误。我不知道你错过了什么。我把所有相关的代码都放在那里了…是的。我知道我可以在名字上写任何我想要的东西。但当我返回一个错误时,它仍然会给我一个错误。
$options = Input::get('option');
return Redirect::back()
    ->withErrors($validator)
    ->withInput(Input::except('option'))
    ->with('options', $options);