在我的laravel形式中,我有一些字段有这样的名字:
名称= “MyField的[0]”
我正在使用form :: model binging以填充表单的字段以进行编辑,这对于具有普通名称的所有字段都是完美的。
但由于某种原因,正在填充名称为数组的字段。我提供的数据应该作为一个数组填充字段,所以结构是相同的,例如。
array myfields = (
'0' => 'hello',
'1' => 'world,
'2' => '!'
)
表单字段名称
名称= “myfields [0]”
名称= “myfields [1]”
名称= “myfields [2]”
在这个例子中,我希望数组键与数据填充相匹配。
它没有,所以你们对我如何得到这个有任何想法吗?
干杯
答案 0 :(得分:0)
我遇到了同样的问题,我也找不到办法,我最终做的是:
我得到了一系列值,然后我只是在视图中做了一个foreach
@foreach ($array as $element)
{{ Form::text('myfields[]', $element[]) }}
@endforeach
我知道这不是正确的解决方案或正确的解决方案,但这解决了我的问题,我希望对你也有帮助。
答案 1 :(得分:0)
Laravel 5在这里。我发现了4& 4之间的差异。 5在特定领域是次要的。我希望这很有用
我的数组格式是$ object [x] [attribute],$ object [x] [otherattribute]
我发现这个问题对于包含数组和动态数据的编辑表单非常重要。
public function edit($object)
{
$object= $object->toArray();
return view('editView', compact( 'object'));
}
发送对象的路线
Route::bind('object', function($value, $route) {
$thing = App\Object::where('variable','=',$value)->get();
return $thing;
});
注意,我可以将它作为数组而不是控制器传递。但是直到我完全测试它的行为(好到目前为止!),我希望能够用棍子戳它。
我如何打开表单
{!! Form::model(['object'=>$object], ['method' => 'PATCH', 'route' => ['thing.update,$owner->id], 'class'=>'form-horizontal']) !!}
示例文字输入:
{!! Form::text('object['.$idx.'][attribute]',null,array('class'=>'cloned_input form-control input-sm')) !!}
请注意,我能够将输入值保持为null,因此它遵循
的顺序至少我相信它会!到目前为止,我的动态表单仍然在每个CRUD操作的一个模板上工作。