Хранение иерархии в MySQL довольно затертая тема, воскурив хабр неоднократно я тем не менее не нашел для себя оптимальной структуры, сочетающей легкость поддержки и удобство пользования. Велосипед изобрелся сам...
Adjacency List (AL) удобен:
- самоподдерживаемостью целостности данных (ON DELETE CASCADE)
- легкостью вставкипереноса веток (обновление затрагивает одно поле parent_id у одного элемента)
- Легкостью получения детей на 1 уровень вложенности
Но главные неудобства возникают при выборках:
- получение всех детей ветки (для меню с ограничением по уровнюЧитать полностью »

![PHP / [Из песочницы] Честная генерация DOCX на PHP. Часть 1 image](https://www.pvsm.ru/images/42baf49b0bd36f96f5261ec3cca6e1b3.png)

![PHP / [Из песочницы] Файловый менеджер на PHP, с правами, контролем версий и AJAX-ом PHP / [Из песочницы] Файловый менеджер на PHP, с правами, контролем версий и AJAX-ом](https://www.pvsm.ru/images/b389634f61dccdf0d1bba64f66507102.png)