Как сформировать вложенный массив json с перечнем категорий и товарами в них?

Стоит задача передать вложенный массив json с категориями и товарами в них через REST API на Yii2 для того, чтобы фронт вывел на UI эти данные и настроил раутинг (это важно). На данном этапе нет строгой привязки к архитектуре БД, по этому подойдут любые варианты, начиная от структуры таблиц. Нужно создать "полный путь" категорий, начиная с верхней и заканчивая конечной и там, где есть товары, передать инфу о них. Сам массив должен быть приблизительно следующим (как я это вижу):

items:[
{id: ... (категория верхнего уровня)
 title: ...
 url: ...
 parent_id: ...
 goods: {id, title, price, url, category_id или null, если в этой категории нет товаров}
 child: {
     id: ... (вложенная категория)
     title: ...
     url: ...
     parent_id: ...
     goods: {id, title, price, url, category_id или null, если в этой категории нет товаров}
     child: {
          id: ... (следующая вложенная категория или null если это конечная категория в этом дереве)
          title: ...
          url: ...
          parent_id: ...
          goods: {id, title, price, url, category_id или null, если в этой категории нет товаров}
}
}
}
]

И таким образом с самой верхней и к конечной. Если есть у кого идеи или примеры, поделитесь пожалуйста, буду очень благодарен!


Ответы (0 шт):