Ich habe eine User
Tabelle mit einer Selbstbeziehung.Wie hole ich alle Eltern in einer Selbstbeziehung?
hat die Tabelle die Felder wie folgt:
id
parent_id
(FKUser
)name
ein Benutzer einen Elternteil haben kann, und dieser Elternteil kann Habe ein Elternteil und so weiter bis unendlich (obwohl ich wahrscheinlich 3-4 Stufen gehen werde, setzt die Anwendung keine Grenzen).
Wie hole ich den gesamten Stammbaum von einem Benutzer, der keine Kinder hat (unten im Baumbenutzer), ausgenommen Geschwister.
Zum Beispiel: ich user1
, seine Eltern haben, ist parent1
die eine grandparent1
hat. Wenn grandparent1
andere Kinder hat (wie zum Beispiel parent2
), möchte ich das nicht holen. Nur user1
->parent1
->grandparent1
. Gibt es eine Möglichkeit, Verbindungen so lange zu loopen, bis sie nicht gefunden werden?
EDIT1: Ich möchte wirklich QueryBuilder dafür verwenden. ein parent() -Methode eine foreach machen Aufruf, bis er aufgrund null zurückgibt wird Optimierung wahrscheinlich nicht die beste Lösung sein
Das habe ich bereits. Aber sollte ich das einfach in eine foreach setzen, bis 'parent() 'null zurückgibt? Es scheint ein bisschen nicht optimiert. Gibt es eine Möglichkeit, dies mithilfe des Abfrage-Generators zu tun? – Murilo