我有一个表单可以多次保存到数据库,具体取决于其中的条目数。确切地说,我有4个输入字段,填写完所有字段后,我点击添加按钮。单击“添加”按钮后,我在<form>
标记内的表格行中创建条目,例如
<form>
<table>
<tr>
<td> <input type="hidden" name="a[]" value="xyz" /> xyz</td>
<td> <input type="hidden" name="b[]" value="123" /> 123</td>
<td> <input type="hidden" name="c[]" value="456" /> 456</td>
<td> <input type="hidden" name="d[]" value="abc" /> abc</td>
</tr>
<tr>
<td> <input type="hidden" name="a[]" value="xyz" /> xyz</td>
<td> <input type="hidden" name="b[]" value="123" /> 123</td>
<td> <input type="hidden" name="c[]" value="456" /> 456</td>
<td> <input type="hidden" name="d[]" value="abc" /> abc</td>
</tr>
</table>
</form>
现在我想将表的每一行保存为一行数据库。我无法理解如何做到这一点。我使用dd($a = $request->input('a'));
为单个字段获取控制器中的数据,
array:2 [▼
0 => "xyz"
1 => "xyz"
]
我使用它来使用Laravel将其保存到数据库中,
$save=Model::Create(array(
'a'=>$request->input('a'),
'b'=>$request->input('b'),
'c'=>$request->input('c'),
'd'=>$request->input('d')
));
我收到错误,
传递给Illuminate \ Database \ Grammar :: parameterize()的参数1必须是类型数组,字符串给定,在/ var / www / html / quoting / vendor / laravel / framework / src / Illuminate / Database /中调用第681行的Query / Grammars / Grammar.php已定义
如何使用Laravel命令将其保存到数据库中。?
答案 0 :(得分:1)
使用此
$input = $request->all();
foreach($request->a as $key => $value) {
Model::Create(array(
'a' => $value,
'b' => $input['b'][$key],
'c' => $input['c'][$key],
'd' => $input['d'][$key],
));
}
答案 1 :(得分:0)
您需要更改所有输入的名称
<form>
<table>
<tr>
<td> <input type="hidden" name="myform[a][0]" value="xyz" /> xyz</td>
<td> <input type="hidden" name="myform[b][0]" value="123" /> 123</td>
<td> <input type="hidden" name="myform[c][0]" value="456" /> 456</td>
<td> <input type="hidden" name="myform[d][0]" value="abc" /> abc</td>
</tr>
<tr>
<td> <input type="hidden" name="myform[a][1]" value="xyz" /> xyz</td>
<td> <input type="hidden" name="myform[b][1]" value="123" /> 123</td>
<td> <input type="hidden" name="myform[c][1]" value="456" /> 456</td>
<td> <input type="hidden" name="myform[d][1]" value="abc" /> abc</td>
</tr>
</table>
</form>
然后在您的控制器中首先dd($request->myform)
并检查您是否正确获取值
如果你想存储多维数组,那么你就不能使用insert not create
$save=Model::insert(multdimensionl array here);