我有发票表格,想要更新数据。我试过了但得到了下面的错误,
不存在Illuminate\Database\Eloquent\Collection::update
方法。
但是当我使用$match = Stock::where('inv_no','=',$inv_no)->first();时,它在一行上更新,而我有两行或多行。
我能做些什么来更新这些数据?
控制器。
public function update(Request $request, $inv_no)
{
$data = $request->all();
// dd($data);
// for($i = 0; $i<$request->pid; $i++)
foreach ($request->pid as $i => $dt) {
$match = Stock::where('inv_no', '=', $inv_no)->get();
$match->update(['pid' => $request->pid[$i],
'qty' => $request->qty[$i],
'inv_no' => $request->inv_no,
'user_id' => Auth::user()->id,
'supplierName' => $request->supplierName,
'receiptNumber' => $request->receiptNumber,
'truckNumber' => $request->truckNumber,
'driverName' => $request->driverName,
'remark' => $request->remark,
]);
// dd($match);
return $this->index();
}
}我的$request->all()
array:8 [▼
"_token" => "6YdueIejLzorveQnzEaG8Fx5eYH9Lk1qcL1LQXya"
"supplierName" => "DAR ERICA 3"
"receiptNumber" => "5555KK"
"truckNumber" => "T 500 FGT"
"driverName" => "JOHN EMMA"
"remark" => "OK"
"pid" => array:2 [▼
0 => "2"
1 => "1"
]
"qty" => array:2 [▼
0 => "100"
1 => "100"
]
]发布于 2020-04-25 12:42:45
这是你问题的解决方案。还可以对与给定查询匹配的任意数量的模型执行更新。在本例中,所有处于活动状态且目的地为圣地亚哥的航班都将被标记为延迟:
App\Flight::where('active', 1)
->where('destination', 'San Diego')
->update(['delayed' => 1]);https://stackoverflow.com/questions/61425678
复制相似问题