weixin_49860915 2023-10-22 23:07 采纳率: 50%
浏览 4

tp开启事务添加数据成功后,最后提交后却跑进异常

tp开启事务添加数据成功后,为什么还会跑进异常中,在代码执行最后就是没执行$this->success(),而是跑进了异常中,困扰了我都快不正常了,各种方法都试过,就是找不出问题


public function add() 
    {
        if($this->request->isPost()) {

            $params = $this->request->post("row/a");

            // 接收添加的商品数据,json字符串转成数组
            $productList = json_decode($params['product'],true);

            // 生成订单号
            $code = build_code('SU'); // 订单前缀可以自定义

            Db::startTrans();
       
            try {
                
                // 封装入库数据
                $StorageData  = [
                    'code' => $code,
                    'supplierid' => $params['supplierid'],
                    'type' => $params['type'],
                    'amount' => $params['total'],
                    'remark' => $params['remark'],
                    'status' => 0,
                ];

                $StorageStatus = $this->model->validate('common/Depot/Storage')->save($StorageData);

                if($StorageStatus === false)
                {
                    $this->error($this->model->getError());
                    exit;
                }

                // 处理入库商品数据

                // 存放封装好的商品数据
                $StorageProductData = [];

                foreach($productList as $item) {
    
                    $StorageProductData[] = [
                        // 'storageid' => $StorageStatus['id'],
                        'storageid' => $this->model->id,
                        'proid' => $item['id'],
                        'nums' => $item['nums'],
                        'price' => $item['price'],
                        'total' => $item['total'],
                    ];
                }

                $StorageProductStatus = $this->StorageProductModel->validate('common/Depot/StorageProduct')->saveAll($StorageProductData);

                if($StorageProductStatus === false)
                {
                    $this->error($this->StorageProductModel->getError());
                    exit;
                }

                // 提交事务
                Db::commit();
                $this->success('添加入库成功');

            }catch(\Exception $e) {
                // 回滚事务
                echo "====";exit;
                Db::rollback();
                $this->error(__($e->getMessage()));
            }
            
        }
        return $this->view->fetch();
    }   
  • 写回答

3条回答 默认 最新

  • sky-coder 2023-10-22 23:55
    关注

    异常的报错发出来呀

    评论

报告相同问题?

问题事件

  • 创建了问题 10月22日

悬赏问题

  • ¥17 pro*C预编译“闪回查询”报错SCN不能识别
  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向