Преобразование плоской структуры в иерархический JSON
У меня сложная структура базы данных с большим количеством отношений "один-ко-многим".
Например. Модели:
- опрос
- вопросы
Отношения "один ко многим" между ними.
Для фроттенда я хочу подготовить точный json. Но я хочу выполнить только один запрос к базе данных.
Таким образом, из базы данных я извлеку плоскую структуру:
Poll ID Poll name Candidate ID Candidate name
1 Election 1 Billy the Labourist
1 Election 2 John the Communist
1 Election 3 Peter the Baptist
Но для фронтенда мне нужно точное отражение JSON:
Poll: [1, Election
[Candidates: [[1, Billy the Labourist],
[2, John the Communist],
[3, Peter the Baptist]]]]
Единственное возможное решение, которое приходит мне в голову, это запустить цикл и просто подготовить json "вручную". Я не думаю, что это лучшее решение.
Подскажите, пожалуйста, как наиболее элегантно достичь поставленной цели? Некоторые библиотеки или готовые приложения приветствуются?