0
データベースに動的フィールドを追加する際に問題が発生しました。すべての値を返すと、値を入力しますが、データベースに追加しようとすると500エラーが発生します。 これは私のダイナミックなフィールドです:DBに動的フィールドを追加する方法Lavavel
var i = 1;
$('#add_field').click(function(){
i++;
$('#dynamic_field').append('<tr id="row'+i+'"><td class="col-md-5"><textarea class="name borders table-control" type="text" rows="1" cols="45" name="name[]"></textarea></td><td class="col-md-2"><input class="borders table-control price" type="text" name="price[]"></td><td class="col-md-2"><input class="borders table-control qty" type="text" name="qty[]"></td><td class="col-md-2"><input class="form-control total" type="text" name="total[]"></td><td class="text-center"><span id="'+i+'" style="color: red" name="remove" class="btn_remove"><i class="fa fa-times" aria-hidden="true"></i></span></td></tr>');
});
これは私のAjax呼び出しです:
$(document).on('change','.qty',function(){
var id = $("#inv_id").val();
var tr = $(this).closest('tr');
var name = tr.find(".name").val();
var price = tr.find(".price").val();
var qty = tr.find(".qty").val();
var total = tr.find(".total").val();
$.ajax({
type: "POST",
url: '/product',
data: {'id': id, 'name': name, 'price': price, 'qty': qty, 'total': total, '_token':$('input[name=_token]').val()},
success: function(data) {
console.log(data);
},
error: function(data){
alert("fail");
}
});
});
そして、ここでは私のコントローラです:
public function product(Request $request){
$products = $request->all();
$id = $products['id'];
$name = $products['name'];
$price = $products['price'];
$qty = $products['qty'];
$total = $products['total'];
for($i = 0; $i < count($name); $i++) {
$prod = new Product();
$prod->invoice_id = $id;
$prod->name = $name[$i];
$prod->price = $price[$i];
$prod->qty = $qty[$i];
$prod->total = $total[$i];
$prod->save();
}
return response()->json($prod->toArray(), 200);
}
これは
protected $fillable = [ 'invoice_id', 'name', 'qty', 'price', 'total' ];
私の製品モデルであります
I Product :: create($ request-> all)を試しましたが、実際に私が知っているすべてを試しました。私はあなたが人を助ける必要がある理由です。
は、私たちは(http://chat.stackoverflow.com/rooms/157032/discussion-between-ljubadr-and-denisson-de-souza)[チャットでこの議論を続ける]してみましょう。 – ljubadr
@ ljubadr、私は最終的にコードを修正することができました。私のコードはうまくいきました。私がしなければならなかったのは、ページをリフレッシュすることでした。とてもシンプルでしたが、長い時間がかかりました。ああ、私は学んでいる。ここにコードを掲載します。 –