【发布时间】:2021-02-07 02:50:39
【问题描述】:
如图所示,我需要将数据存储在下面输入的所有行的前三位应该相同的位置。 提交表单数据如下图。
但是循环和保存时的数据没有按需要保存。只有最后一行数据被插入,我也对存储供应商、购买日期和注释感到困惑,因为这些数据应该与添加的行数一样多。
PurchaseController.php
public function storePurchase(PurchaseStoreRequest $request)
{
$purchase = new Purchase();
$count = count($request->name);
// return response()->json($request->all());
for ($i = 0; $i < $count; $i++) {
$purchase->supplier = $request->supplier;
$purchase->purchase_date = $request->purchase_date;
$purchase->description = $request->description;
$purchase->category = $request->category[$i];
$purchase->name = $request->name[$i];
$purchase->generic_name = $request->generic_name[$i];
$purchase->batch_number = $request->batch_number[$i];
$purchase->company = $request->company[$i];
$purchase->strength = $request->strength[$i];
$purchase->expiry_date = $request->expiry_date[$i];
$purchase->quantity = $request->quantity[$i];
$purchase->selling_price = $request->selling_price[$i];
$purchase->purchase_price = $request->purchase_price[$i];
$purchase->save();
}
return response()->json(['message' => 'Purchase Saved Successfully']);
}
有人可以帮我将这三个字段存储在数据库中重复提交的行数吗? 目前只有最后一行被插入到数据库中。
【问题讨论】:
-
$purchase = new Purchase();在循环内写这行,你在外面写。这就是为什么只插入最后一个低点。无论如何,它会$purchase = new Purchase; -
你试过
array_merge_recursive()吗?