我正在从事 Laravel 8 项目。我有一排有 3 个输入和一个按钮,可以添加更多行。我添加多少行都没有关系,只有第一行提交到数据库中。请帮我解决这个问题。谢谢!
index.blade.php:
<h4>Add Products</h4>
<form action="{{ url('insert-products') }}" method="POST" enctype="multipart/form-data">
@csrf
<select class="form-select" name="cateId">
<option value="">Select a Category</option>
@foreach ($category as $item)
<option value="{{ $item->id }}">{{ $item->name }}</option>
@endforeach
</select>
<br>
<label for="">Product Name</label><br>
<input type="text" name="productName" id="quantity2" required><br>
<br>
<input type="checkbox" name="status" required>
<br>
<div class="customer_records">
<input type="text" name="productName" id="quantity_img2" required>
<input type="text" name="productVariant" required>
<input type="text" name="productValue" required>
<a class="extra-fields-customer" href="#">Add More Customer</a>
</div>
<div class="customer_records_dynamic"></div>
<button type="submit" class="btn btn-outline-success waves-effect" id="type-success">Add Product</button>
</form>
控制器:
public function insert(Request $request){
$products = new Products();
$products->cateId = $request->input('cateId');
$products->productName = $request->input('productName');
$products->status = $request->input('status') == TRUE ? '1':'0';
$products->productVariant = $request->input('productVariant');
$products->productValue = $request->input('productValue');
if($products->save()){
return redirect('/categories')->with('status',"Products Added Succesfully");
}
else{
return redirect('/categories')->with('status',"Something went wrong");
}
}
答案 0 :(得分:1)
您涉及多个传输:
首先,您需要确保完全发送值。看到您的代码,我假设在请求级别发送了一个值。您将需要指出将涉及多个值,例如
<label for="">Product Name</label><br>
<input type="text" name="productName[]" id="quantity2" required><br>
<br>
<input type="checkbox" name="status[]" required>
<br>
<div class="customer_records">
<input type="text" name="productName[]" id="quantity_img2" required>
<input type="text" name="productVariant[]" required>
<input type="text" name="productValue[]" required>
<a class="extra-fields-customer" href="#">Add More Customer</a>
</div>
注意 []
表示多重性。
旁注:我强烈建议您不要将 ID 硬编码到重复的模板中,因为它们最终会被复制,从而使您的 HTML 无效。
虽然上一部分应该解决一个问题,但不能保证这是唯一的问题。调试并查看请求发送的应用程序端的内容是有意义的。如果你拥有所有的价值观,那么一切都很好。如果没有,请调查原因并修复它。
您需要确保您的代码尝试存储所有内容。如果是这样,那么进一步的问题是它是否成功完成。如果没有,那么您需要调试代码以查看问题所在。