phpbar.de logo

Mailinglisten-Archive

[php] [OT] Nested Set mit mehr als einem Vorfahren?

[php] [OT] Nested Set mit mehr als einem Vorfahren?

Niels Jäckel niels.jaeckel at silice.de
Mit Mai 23 12:44:26 CEST 2007


Hallo Ralf,

> Ich muss in meiner Anwendung aber auch alle Unterknoten eines Knotens
> selektieren können. Also nicht nur die direkt eine Ebene darunter,
> sondern auch weiter unten. Das funktioniert mit der Selektion anhand der
> LEFT/RIGHT ziemlich gut und auch recht schnell.

okay, dann ist der klassische Ansatz wirklich nicht sehr gut - ich
wusste nicht, dass das eine explizite Forderung ist.


> Die Frage ist, wie ich bei deinem Aufbau solch eine Abfrage gestalten
> kann. Ich stelle es mir sehr schwer vor, da die Abfrage ja eigentlich
> rekursiv sein müsste. Beim Binärbaum/Nested Set hingegen geht das mit
> einem einfachen Select.

Um beim klassischen Modell alle Unterknoten zu selektieren muss man in
der Tat rekursiv zu Werke gehen - z.B. mit StoredProcedures o.ä.


> Ähnlich ist es, wenn ich von meiner aktuellen Position im Baum alle
> übergeordneten Knoten in einem Rutsch selektieren möchte (für eine
> Brotkrumen Navi). Das geht prima mit Binärbaum/Nested Set, aber auch mit
> deinem Ansatz?
> 
> Hast du solche Abfragen schon damit gelöst?

Die IDs der Brotkrumen sind über die ParentIDs miteinander verstrickt,
allerdings muss auch dort ein rekursives Select in irgendeiner Form
verwendet werden.

Wie Lutz schon sagte, hast du mit den NestedSets sicherlich den
richtigen Grundansatz schon in der Hand :-)


Grüße,
Niels


php::bar PHP Wiki   -   Listenarchive