Ho un problema nella crearezione di una struttura gerarchica.

Mi spiego meglio.

Quello che dovrei creare è il seguente elenco, e fino a qui ci sono riuscito.


Calcio
Pallavolo
Basket

Il problema sorge quando viene scelto un "figlio" che dovrebbe concatenarsi al "genitore". Oppure quanto si vuole far concatenare un altro "figlio" al "figlio" così

Calcio
Calcio > Serie A
Calcio > Serie A > Club
Calcio > Serie A > Club > Attaccante
Calcio > Serie B
Calcio > Serie C
Pallavolo
Basket

Dovrei creare una funzione che permetta la creazione di questo elenco. Come dati ho "id", "nome", "genitore_id"

Quello che riesco a ottenere è questo

Calcio
Calcio > Serie A
Serie A > Club : Milan
Club > Attaccante
...

Non riesco a ottenere la struttura gerarchica.. come posso fare?