【问题标题】:PHP - Populating a multidimensional array with a sql result, specifying keys to aggregate similar resultsPHP - 使用 sql 结果填充多维数组,指定键以聚合相似结果
【发布时间】:2019-03-13 15:41:59
【问题描述】:

我正在尝试将一个数组作为 JSON 传递给角度视图。 sql结果的结构大致是:

  • 订单号
  • 供应商
  • 数量
  • 日期
  • 订单状态
  • 产品A(包括尺寸)
  • GenericA(不包括尺寸)
  • LibA
  • TypeA(包装、批次、产品)
  • 尺寸A
  • 尺寸名称A
  • 产品B
  • 通用B
  • LibB
  • B型
  • 尺寸B
  • 尺寸名称B
  • QtyPerSizeB
  • 产品C
  • 通用C
  • LibC
  • TypeC
  • 尺寸C
  • 尺寸名称C
  • QtyPerSizeC

它是通过左连接完成的,因此成本与最后一个非空产品有关。

如果是包裹:

  • 产品A -> 包装
  • ProductB -> 批次(A 的子代)
  • 产品C -> 产品(B 的孩子)

如果是批次或无批次的包裹:

  • 产品A -> 包装/批次
  • 产品B -> 产品
  • ProductC -> null

如果只是产品:

  • 产品A -> 产品
  • ProductB/C -> null

所以我需要有某种层次结构,这样我才能遍历这些对象。 类似的东西:

{
  "order": {
    "infos": {},
    "products": {
      "name": "x",
      "type": "Package",
      "sizes": {
        "1": {
          "qty": "",
          "price": ""
        },
        "2": {
          "qty": "",
          "price": ""
        }
      },
      "children": {
        "name": "x",
        "type": "Batch",
        "sizes": {
          "1": {
            "qty": "",
            "price": ""
          },
          "2": {
            "qty": "",
            "price": ""
          }
        },
        "children": {
          "name": "x",
          "type": "Batch",
          "sizes": {
            "1": {
              "qty": "",
              "price": ""
            },
            "2": {
              "qty": "",
              "price": ""
            }
          },
        }
      }
    }
  }
}

我尝试通过循环遍历所有结果来设置它们中的每一个,但由于复杂性,开发/修改/维护需要很长时间。

所以我想知道是否有任何方法可以指定另一个包含键和指令的数组(类似于“parent of”、“sum of”、“child of”),然后将 sql 结果合并到一个多维数组中遵循上面的结构。

期待阅读你们的cmets,各位天才,感谢你们的阅读!

雷克

【问题讨论】:

    标签: php arrays multidimensional-array key


    【解决方案1】:

    好的,没有回应。 我最终创建了描述我想要的数据的类。 如果您需要类似的结构,请与我联系,我将分享我是如何做到的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-08
      • 2012-04-17
      • 2020-03-14
      • 1970-01-01
      • 1970-01-01
      • 2016-09-16
      • 1970-01-01
      • 2012-01-22
      相关资源
      最近更新 更多