我正在用laravel-8开发eCommerce .结帐后我试着更新当前的股票。我得到了这个错误“未定义数组键产品”。我的剧本问题在哪里?我看不懂。$request->get('prorder')这是订单号。在orderDetails表中插入多个时间的顺序id。我想更新产品表中的当前库存。
$order = $request->get('prorder');
$datas = DB::table('orderDetails')
->select(array('order_id','ProductId','productqty'))
->where('order_id', '=', $order)
->get();
$pquenty=array_filter($datas['productqty']);
$value=array_values($pquenty);
for ($i=0; $i<count ($value); $i++) {
$qupdate = DB::update('UPDATE Product set totalstock=(totalstock - $value[$i]) WHERE id = "'.$datas['ProductId'][$i].'" ');
}发布于 2022-01-17 02:28:08
您的$order = $request-> get ('prorder');正在使用get方法。最有可能的是排列。
$datas = DB::table('orderDetails')
->select(array('order_id','ProductId','productqty'))
->where('order_id', '=', $order[0])
->get();尝试从上面更新的代码中更改代码。希望这能解决你的问题。
发布于 2022-01-17 08:31:01
$order = $request->get('prorder');这是正确的剧本。上面说错了。
$order = $request->get('prorder');
$datas = DB::table('orderDetails')
->select(array('order_id','ProductId','productqty'))
->where('order_id', '=', $order)
->get();
foreach ($datas as $datas) {
$pquna = $datas->productqty;
$pid= $datas->ProductId;
$qupdate = DB::update('UPDATE Product set totalstock=(totalstock - "'.$pquna.'") WHERE id = "'.$pid.'" ');
}https://stackoverflow.com/questions/70730766
复制相似问题