请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

10-11课程中snapOrder方法返回值问题

图片描述老师,在snapOrder方法中,视频并没有写出返回值,那么在place方法调用时,$orderSnap变量就无法获得对应的值,这是是否有问题?

    public function place($uid, $oProducts)
    {
        // oProducts和products作对比
        // products从数据库中查询出来
        $this->oProducts = $oProducts;
        $this->products = $this->getProductsByOrder($oProducts);
        $this->uid = $uid;
        $status = $this->getOrderStatus();
        if (!$status['pass'])
        {
            $status['order_id'] = -1;
            return $status;
        }

        // 开始创建订单
        $orderSnap = $this->snapOrder($status);
        $order = $this->createOrder($orderSnap);
    // 订单快照
    private function snapOrder($status)
    {
        $snap = [
            'orderPrice' => 0,
            'totalCount' => 0,
            'pStatus' => [],
            'snapAddress' => null,
            'snapName' => '',
            'snapImg' => ''
        ];

        $snap['orderPrice'] = $status['orderPrice'];
        $snap['totalCount'] = $status['totalCount'];
        $snap['pStatus'] = $status['pStatusArray'];
        $snap['snapAddress'] = json_encode($this->getUserAddress());
        $snap['snapName'] = $this->products[0]['name'];
        $snap['snapImg'] = $this->products[0]['main_img_url'];

        if(count($this->products) > 1){
            $snap['snapName'] .= '等';
        }
    }

正在回答 回答被采纳积分+3

插入代码

2回答

7七月 2019-05-17 18:05:42

不会,虽然这个参数没有明确返回,但是他会被修改,被修改也是有作用的

0 回复 有任何疑惑可以回复我~
  • 提问者 慕慕5403139 #1
    如果不返回去值,他就会报下面的错误
    SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'total_price' cannot be null
                // 调试结束
                $this->debug(false);
    
                $this->numRows = $this->PDOStatement->rowCount();
                return $this->numRows;
            } catch (\PDOException $e) {
                if ($this->config['break_reconnect'] && $this->isBreak($e)) {
                    return $this->close()->execute($sql, $bind);
                }
                throw new PDOException($e, $this->config, $this->getLastsql());
            }
        }
    
        /**
         * 根据参数绑定组装最终的SQL语句 便于调试
         * @access public
         * @param string    $sql 带参数绑定的sql语句
         * @param array     $bind 参数绑定列表
         * @return string
    回复 有任何疑惑可以回复我~ 2019-05-18 15:08:38
  • 7七月 回复 提问者 慕慕5403139 #2
    我源码中有没有return 这个snapOrder,好像这里确实要return。
    回复 有任何疑惑可以回复我~ 2019-05-18 18:22:42
  • 提问者 慕慕5403139 回复 7七月 #3
    源码里有,视频没看到
    回复 有任何疑惑可以回复我~ 2019-05-18 19:28:30
7七月 2019-05-16 23:16:56

麻烦贴一下代码。谢谢

0 回复 有任何疑惑可以回复我~
  • 提问者 慕慕5403139 #1
    已贴!
    回复 有任何疑惑可以回复我~ 2019-05-17 16:10:26
  • 我也一直怀疑这个有问题来着,建议置顶或者修改
    回复 有任何疑惑可以回复我~ 2021-02-05 20:33:21
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号