我正在尝试在我的数据库中的多行中保存动态输入。
这是我的表单的一部分,即付款和日期。
<tr>
<td class="col-md-2">
{{Form::text('pay[]', '', ['class' => 'form-control number', 'placeholder' => ''])}}
</td>
<td class="col-md-2">
{{Form::text('payDate[]', '', ['class' => 'form-control pDate', 'placeholder' => ''])}}
</td>
<td class="col-md-2"><a class="deleteRow"></a>
</td>
</tr>
我的动态添加输入的JS代码:
$(document).ready(function () {
var counter = 0;
$("#addrow").on("click", function () {
var newRow = $("<tr>");
var cols = "";
cols += '<td><input type="text" id="field_2" class="form-control" name="pay[]" /></td>';
cols += '<td><input type="text" class="form-control pDate" name="payDate[]" /></td>';
cols += '<td><input type="button" class="ibtnDel btn btn-md btn-danger " value="Delete"></td>';
newRow.append(cols);
$("table.order-list").append(newRow);
counter++;
});
这是我的控制器:
$input = $request->all();
for($i=0; $i<= count($input['pay']); $i++) {
$payment = new Payment;
$payment->file = $file;
$prePayment = str_replace(',', '', $request->input('pay'));
$payment->payment = $prePayment;
$payment->paymentDate = $request->input('payDate');
$payment->save();
}
请你帮我解决这个问题。
目前我收到此错误:
数组到字符串转换(SQL:插入payments
(file
,payment
,paymentDate
,updated_at
,created_at
)值。 ...
答案 0 :(得分:1)
可能$request->input('pay')
此行导致问题,因为您尝试在此处获取整个数组,而应该获取single
对象。
$input = $request->all();
$pays = $request->input('pay');
$paymentDates = $request->input('payDate');
for($i=0; $i< count($input['pay']); $i++) {
$payment = new Payment;
$payment->file = $file;
$prePayment = $pays[$i];
$payment->payment = str_replace(',','',$prePayment);
$payment->paymentDate = $paymentDates[$i];
$payment->save();
}