首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >未定义数组键"productqty“Laravel 8

未定义数组键"productqty“Laravel 8
EN

Stack Overflow用户
提问于 2022-01-16 14:02:13
回答 2查看 281关注 0票数 0

我正在用laravel-8开发eCommerce .结帐后我试着更新当前的股票。我得到了这个错误“未定义数组键产品”。我的剧本问题在哪里?我看不懂。$request->get('prorder')这是订单号。在orderDetails表中插入多个时间的顺序id。我想更新产品表中的当前库存。

代码语言:javascript
运行
复制
  $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].'" ');
   }
EN

回答 2

Stack Overflow用户

发布于 2022-01-17 02:28:08

您的$order = $request-> get ('prorder');正在使用get方法。最有可能的是排列。

代码语言:javascript
运行
复制
  $datas = DB::table('orderDetails') 
     ->select(array('order_id','ProductId','productqty'))
     ->where('order_id', '=', $order[0])  
     ->get();

尝试从上面更新的代码中更改代码。希望这能解决你的问题。

票数 0
EN

Stack Overflow用户

发布于 2022-01-17 08:31:01

代码语言:javascript
运行
复制
$order = $request->get('prorder');

这是正确的剧本。上面说错了。

代码语言:javascript
运行
复制
$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.'" ');
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70730766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档