Воспользуйся Nested Sets
https://github.com/lazychaser/laravel-nestedset
Без деревьев тут никак. Тупо по parent_id с рекурсией, зачем оно надо, когда есть отличные решения.
Один из плюсов Nested Sets - это быстродействие на выборку, неограниченная вложенность.
Минус - ресурсоемки операции по созданию, удалению, перемещению элемента