вывод 3-х связанных таблиц в виде дерева

BFO

Новичок
вывод 3-х связанных таблиц в виде дерева

Добрый день!

3 таблицы:
1) category - категории (id, name, ...)
2) podcategry - подкатегории категорий (id, name, cat_id, ...)
3) svoistva - свойства подкатегорий (id, name, podcat_id, ...)

Задача: Вывести все 3 таблицы в виде дерева:

1) Категория 1
1) Подкатегория 1 категории 1
1) Свойство 1 подкатегории 1
2) Свойство 2 подкатегории 1
3) Свойство 3 подкатегории 1
..........
N) .....
2) Подкатегория 2
1) ....
3) ...
2) Категория 2
...........

Сейчас работает через цикл, то есть цикл вывода категорий, в нем цикл вывода подкатегорий, в нем вывод свойств.

(10 категорий * (10-20 подкатегорий) * (5-15 свойств)) = от 500 до 3000 входов в цикл. Как можно сделать более оптимизировано. Используется в админке, достаточно редко, но хочется знать как это делается правильно?

Спасибо.
 

damngood

Мозг был, но ушел...
Все категории

id-parent_id

то есть те, у кого parent_id=0 - корневые "категории", те у кого parent_id = что-то там - то "подкатегории". Выводится легко рекурсией.

Свойства загоняются в отдельный массив
 
Сверху