FunkyMonkey
Mitglied
Hallo
ich habe eine Tabelle objects mit den feldern id, name, child_of_object_id.
Wenn child_of_object_id = 1 ist, hat das Objekt Kinder.
Wenn child_of_object_id > 1 ist, handelt es sich dabei um ein Kind des Objekts mit der hier angegebenen id.
In PHP muss ich alle Objekte auflisten, wobei Kinder direkt unter dem jeweiligen Eltern-Objekt als Auswahloption erscheinen müssen.
Dies möchte ich mit einer einzigen SQL-Abfrage bewerkstelligen, soweit das möglich ist.
Es sollen alle Objekte herausgesucht werden, und soweit Kinder vorhanden sind, sollen diese Kindobjekte mit "rein gejoint" werden. Hoffe das ist soweit verständlich...
Vermutlich wäre dies ein Array als Result in einem Datenfeld, das ich anschließend in einem sub-foreach durchlaufen kann? Oder eben alle Treffer untereinander weg, jedoch die Kinder immer unter den Eltern sortiert.
Die Alternative wäre wohl 2 getrennte Queries zu machen und in PHP zunächst in einer Foreach alle Elternobjekte durchlaufen und ausgeben, und in jeder Ausgabe eines Elternobjekts das Array mit den Kindobjekten durchlaufen und nur die passenden ausgeben.
Komplizierte Sache ;-)
ich habe eine Tabelle objects mit den feldern id, name, child_of_object_id.
Wenn child_of_object_id = 1 ist, hat das Objekt Kinder.
Wenn child_of_object_id > 1 ist, handelt es sich dabei um ein Kind des Objekts mit der hier angegebenen id.
In PHP muss ich alle Objekte auflisten, wobei Kinder direkt unter dem jeweiligen Eltern-Objekt als Auswahloption erscheinen müssen.
Dies möchte ich mit einer einzigen SQL-Abfrage bewerkstelligen, soweit das möglich ist.
Es sollen alle Objekte herausgesucht werden, und soweit Kinder vorhanden sind, sollen diese Kindobjekte mit "rein gejoint" werden. Hoffe das ist soweit verständlich...
Vermutlich wäre dies ein Array als Result in einem Datenfeld, das ich anschließend in einem sub-foreach durchlaufen kann? Oder eben alle Treffer untereinander weg, jedoch die Kinder immer unter den Eltern sortiert.
Die Alternative wäre wohl 2 getrennte Queries zu machen und in PHP zunächst in einer Foreach alle Elternobjekte durchlaufen und ausgeben, und in jeder Ausgabe eines Elternobjekts das Array mit den Kindobjekten durchlaufen und nur die passenden ausgeben.
Komplizierte Sache ;-)