Я пытаюсь получить массив, который будет передаваться как JSON в угловое представление.Структура результата sql примерно такова:
- Номер заказа
- Поставщик
- Кол-во
- Дата
- OrderState
- ProductA (включая размер)
- GenericA (исключая размер)
- LibA
- TypeA (упаковка, партия, продукт)
- Размер A
- SizeNameA
- ProductB
- GenericB
- LibB
- TypeB
- SizeB
- SizeNameB
- QtyPerSizeB
- ProductC
- GenericC
- LibC
- TypeC
- SizeC
- SizeNameC
- QtyPerSizeC
Это делается с помощью левых соединений, поэтому стоимость относится к последнему ненулевому продукту.
Если это пакет:
- ProductA-> Упаковка
- ProductB -> Партия (дочерний элемент A)
- ProductC -> Продукт (дочерний элемент B)
Если это партия или пакет снет партий:
- ProductA -> Упаковка / партия
- ProductB -> Proвоздуховод
- ProductC -> null
Если это только продукты:
- ProductA -> Product
- 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 в многомерный массив, который соответствует структуре выше.
Я с нетерпением жду ваших комментариев, вы, гении, и спасибо за чтение!
Raekh