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

来源:10-11 订单快照的实现

慕慕5403139

2019-05-16

图片描述老师,在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'] .= '等';
        }
    }

写回答

2回答

7七月

2019-05-17

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

0
4
7七月
回复
慕慕5403139
那可能是视频里漏写了吧。
2019-05-19
共4条回复

7七月

2019-05-16

麻烦贴一下代码。谢谢

0
2
antiforu
我也一直怀疑这个有问题来着,建议置顶或者修改
2021-02-05
共2条回复

微信小程序电商实战 从前端到后端的全流程精讲

全栈工程师/前后端都讲/架构思想/ RESTFul API、MySQL表设计

4839 学习 · 4385 问题

查看课程