【发布时间】: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