我有一个表单来更改对象集合。我能够传递值的集合,但该数组的键是0 - n。相反,我希望键是要更改的对象的id。
以下是我的表单:
{{ Form::open(['route' => 'taps.update', 'data-abide' => true, 'method' => 'PUT']) }}
{{ Form::hidden('bar_id', $bar->id)}}
<div class="row">
@foreach ($beer_tap_object as $beer_tap_id => $current_selection)
<div class="large-6 columns">
<div class="row">
<div class="large-10 columns">
{{ Form::select('beertaps[]', [null=>''] + $beers, $current_selection, ['required'] ) }}
{{ Form::hidden('taps[]', $beer_tap_id)}}
</div>
<div class="large-2 columns">
</div>
<br /><br />
</div>
</div>
@endforeach
</div>
{{ Form::submit('Save') }}
{{ Form::close() }}
这导致此帖子数据。我扔进隐藏的字段来构建对象ID数组。
array (size=4)
'_method' => string 'PUT' (length=3)
'_token' => string 'asdfasdfasdfasdf' (length=40)
'bar_id' => string '3' (length=1)
'beertaps' =>
array (size=6)
0 => string '9' (length=1)
1 => string '11' (length=2)
2 => string '11' (length=2)
3 => string '3' (length=1)
4 => string '2' (length=1)
5 => string '10' (length=2)
'taps' =>
array (size=6)
0 => string '83' (length=2)
1 => string '82' (length=2)
2 => string '81' (length=2)
3 => string '80' (length=2)
4 => string '79' (length=2)
5 => string '78' (length=2)
如何更改此值,以便第二个数组的值是第一个数组的键,而不是具有任意增量?
答案 0 :(得分:1)
您可以输入密钥的名称
<input type="text" name="array[42]" val="something">
你会得到$ _POST ['arr'] [42] =='某事'。
当没有指定键并只留下“[]”时,每个下一个元素都会被推入这个数组,从0(0,1,2 ......)得到你很好的有序数组(这就是你要做的'我现在想要。)
在Laravel / Blade中,尝试:
{{ Form::select('beertaps['.$beer_tap_id.']', [null=>''] + $beers, $current_selection, ['required'] ) }}