Древовидные комментарии
не надо никаких деревьев и parentID. из-за них вы можете столкнуться с JOIN'ами или проблемой (n+1) запросов. всё проще:
1) выберите признак, по которому сортируете комменты в топике. к примеру это created_at.
2) для всех комментов храните created_at и parent_created_at. для корневых кладите в parent_created_at значение created_at.
3) Выборка ORDER parent_created_at DESC, created_at DESC получает комменты в нужном порядке
4) при рендеринге проверкой parent_created_at равно created_at — без отступа, не равно — с отступом
5) ?????
6) PROFIT дерево комментов с макс. уровнем вложенности равным двум
Почему бы не сделать неограниченную вложенность, но отображать одинаково все уровни выше первого?