我有两个输入字段,用户可以重复这些字段以在单个表单提交中插入多个记录。我目前正在使用foreach循环来遍历其中一个输入并获取值,但是现在我需要同时遍历两个输入以将数据保存在一起。
我想循环遍历input-type
& input-label
一起将存储的值保存到db。
我想我可以创建两个foreach循环,但这似乎是一种可怕的方式来处理事情。
表单 -
<form method="post" action="{{ route('savePage') }}">
{{ csrf_field() }}
<ul class="field-list">
<li v-for="(input, index) in inputs">
<input type="text" name="input-type[]" v-model="input.one" style="display: none">
<input type="text" name="input-label[]" v-model="input.two" placeholder="Label name">
<p><span class="codesnippet">text</span></p>
<button class="p-btn secondary" @click.prevent="deleteRow(index)" >Remove field</button>
</li>
</ul>
<button>Submit</button>
</form>
控制器 -
public function saveAtt(Request $request)
{
foreach ($request->input('input-label') as $label) {
$field = new Attribute;
$field->page_id = 1;
$field->label = $label;
$field->type = 2;
$field->save();
}
return redirect()->route('indexPage');
}
答案 0 :(得分:2)
使用此:
$types = $request->input('input-type');
foreach ($request->input('input-label') as $i => $label) {
$field = new Attribute;
$field->page_id = 1;
$field->label = $label;
$field->type = $types[$i];
$field->save();
}