pl: Baumstruktur mit rekursiver Query auslesen

Beitrag lesen

Du meinst, in der Datenbank soll nicht nur vom Kind ein einzelner Verweis auf den Vorfahren vorhanden sein, sondern beim Vorfahren sollen eine unbekannte Anzahl Kindverweise gepflegt werden?

Nein, das meine ich nicht, wie kommst Du den darauf!? Hast Du überhaupt verstanden was ich geschrieben habe?

Wie stellst du dir die dazu passende Struktur vor?

Jeder Knoten wird als Objekt betrachtet, in Perl wäre es es ein Hash nach dem EAV-Muster

{
  Entity => { Attribute => Value},
  4711   => { childs => [] } # Arrayreferenz auf die Kindknoten
}

oder als Slice mit anonymen Hash-Referenzen
[
  { Attribute => Value},
  { childs => [] } # Arrayreferenz auf die Kindknoten
]

Für eine Rekursion reicht die Eigenschaft parent nicht, die parent-Beziehung muss vorher umgedreht werden, so dass in jedem Objekt ein Array mit den ID's der Kindknoten voliegt.

Alle meine Foren arbeiten mit einer solchen Datenstruktur, Beispiel: http://handwerkzeugs.de/tforum.html

Für die Tabelle in einer DB reichen übrigens 3 Felder um eine solche Datenstruktur abbilden zu können.