store_id; $goods_no = $this->goods_no; try { if (empty($goods_no)) { return [ 'code' => 0, 'msg' => '货号不能为空', 'data' => [ 'list' => [] ] ]; } $goods_id = Goods::find()->where(['store_id' => $store_id, 'is_delete' => 0]) ->andWhere(['LIKE', 'goods_no', $goods_no])->select('id')->column(); $query = ErpInventory::find()->alias('ei')->where(['ei.is_delete' => 0, 'ei.store_id' => $store_id]); $query->leftJoin(['g' => Goods::tableName()], 'g.id = ei.goods_id'); if ($goods_id) { $query->andWhere(['OR', ['ei.goods_no' => $goods_no], ['LIKE', 'ei.sku_id', $goods_no], ['ei.goods_id' => $goods_id]]); } else { $query->andWhere(['OR', ['ei.goods_no' => $goods_no], ['LIKE', 'ei.sku_id', $goods_no]]); } $query->orderBy('ei.goods_id DESC'); $query->select('ei.*, g.name goods_name, g.cover_pic'); $pagination = pagination_make($query); foreach ($pagination['list'] as &$item) { // $item['created_at'] = date("Y-m-d H:i:s", $item['created_at']); $attr_info = json_decode($item['attr_info'], true); $item['attr_names'] = implode(',', array_column($attr_info['attr_list'], 'attr_name')); $item['price'] = $attr_info['price']; if($attr_info['pic']){ $item['cover_pic'] = $attr_info['pic']; } $item['num'] = 0; } return [ 'code' => 0, 'msg' => 'success', 'data' => $pagination, // 'q' => $query->createCommand()->getRawSql(), ]; } catch (\Exception $e) { \Yii::error($e); return [ 'code' => 1, 'msg' => $e->getMessage() ]; } } }