返回给前端的形式(数组)(一)

怎么对数组进行相应的拼接和改造

第一种:可以看最后的注释

 /*来源:hyz,backend/modules/admin/controllers/PssStandardLogController.php
     * 流水明细
     */
    public function actionDetail($id)
    {
        $wx_id = Yii::$app->user->identity->wx_id;
        $order = (new \yii\db\Query())
            ->select('o.id,o.order_no,o.warehouse_id,w.name as warehouse_name,w.del_name as del_warehouse_name,o.standard_category_id,o.created_name,o.opera_at,o.opera_name,o.order_remark,sc.name as standard_category_name,sc.del_name as del_standard_category_name,sc.type as standard_category_type,iw.name as in_warehouse_name,iw.del_name as del_in_warehouse_name,ow.name as out_warehouse_name,ow.del_name as del_out_warehouse_name')
            ->from('pss_standard_order o')
            ->leftJoin('pss_warehouse w', 'w.id = o.warehouse_id')
            ->leftJoin('pss_warehouse iw', 'iw.id=o.in_warehouse_id')
            ->leftJoin('pss_warehouse ow', 'ow.id=o.out_warehouse_id')
            ->leftJoin('pss_standard_category sc', 'sc.id = o.standard_category_id')
            ->where(['o.id'=>$id])
            ->one();

        $model = (new \yii\db\Query())
            ->select('i.id as item_id,i.item_name,i.del_name as del_item_name,l.simple_id,s.name as simple_name,l.unit_id as unit_id,u.name as main_unit,u.del_name as del_main_unit,l.remark,l.num,b.id as brand_id,b.name as brand_name,b.del_name as del_brand_name,c.id as category_id,c.name as category_name,c.del_name as del_category_name')
            ->from('pss_standard_log l')
            ->leftJoin('pss_item_simple s', 's.id = l.simple_id')
            ->leftJoin('pss_item i', 'i.id = s.item_id')
            ->leftJoin('pss_brand b', 'b.id = i.brand_id')
            ->leftJoin('pss_category c', 'c.id = i.category_id')
            ->leftJoin('pss_item_unit u','u.id = l.unit_id')
            ->where(['l.order_id'=>$id])
            ->all();

        if (!$model)
            return ['status' => 7500, 'message' => "该订单不存在"];
        
        if ($order['del_standard_category_name'])
                $order['standard_category_name'] = $order['del_standard_category_name'];

        if ($order['del_warehouse_name'])
            $order['warehouse_name'] = $order['del_warehouse_name'];

        if ($order['in_warehouse_name'] && $order['out_warehouse_name']) {
            $order['warehouse_name'] = $order['in_warehouse_name'].','.$order['out_warehouse_name'];
        } else if ($order['in_warehouse_name']) {
            $order['warehouse_name'] = $order['in_warehouse_name'];
        } else if ($order['out_warehouse_name']) {
            $order['warehouse_name'] = $order['out_warehouse_name'];
        }

        if ($order['del_in_warehouse_name'] && $order['del_out_warehouse_name']) {
            $order['warehouse_name'] = $order['del_in_warehouse_name'].','.$order['del_out_warehouse_name'];
        } else if ($order['del_in_warehouse_name']) {
            $order['warehouse_name'] = $order['del_in_warehouse_name'];
        } else if ($order['del_out_warehouse_name']) {
            $order['warehouse_name'] = $order['del_out_warehouse_name'];
        }

        $order['opera_at'] = date('Y-m-d H:i',$order['opera_at']);



        foreach ($model as &$v) {
            
            if ($v['del_item_name'])
                $v['item_name'] = $v['del_item_name'];

            if ($v['del_brand_name'])
                $v['brand_name'] = $v['del_brand_name'];

            if ($v['del_main_unit'])
                $v['main_unit'] = $v['del_main_unit'];

            if ($v['del_category_name'])
                $v['category_name'] = $v['del_category_name'];
            

            if (!$v['remark']) {
                $v['remark'] = '';
            }
        }

        $data = $order;
        $data['simple_data'] = $model;//这里直接在$data新建一个键,然后将$model赋值了。

        return $data;
      
    }

猜你喜欢

转载自blog.csdn.net/qq_33876293/article/details/82854519
今日推荐