id || name || parent
1 || nadrzedny || null
2 || podrzedny || 1
3 || podrzedny2 || 2
i teraz dla obiektu będącego departamentem pobrać całą ścieżkę rodziców (dla przykladu: dla id 3 powinienem dostać: 2,1), napisałem sobie coś takiego:
<?php class Departament extends DAO_DAO { public $tree; public function buildFamilyTree($childId) { try { $child = Departament::find($childId); $parent = Departament::find($childId->parent); $tree .= $parent->id.', '; $this->buildFamilyTree($parent->id); } catch(DAO_RecordNotFoundException $rnfe) { } } public function getTree() { return $tree; } } ?>
oczywiście metoda find zwraca obiekt o zadanym id. Szczerze mówiąc nie wiem co jest nie tak, wydaje mi się to naprawdę nieskomplikowane a jednak nie mogę sobie z tym poradzić. Będę wdzięczny za pomoc.