Hay varias formas de hacerlo, dependiendo del caso puedes utilizar
RecursiveIterator, pregunta, como estas generado la estructura del menú ?, recuerda que doctrine tiene extensiones para el manejo de las estructuras de arból
https://github.com/l3pp4rd/DoctrineE...er/doc/tree.md
Saludos.