W dużym skrócie potrzebuję pobrać rekordy (które mają parentID = NULL) a potem rekordy potomne i ich rekordy potomne i tak dalej. Problem w tym, że ilość powiązań jest nieograniczona. W tym przypadku chodzi o kategorie. Może najpierw kod. Struktura mojej bazy wygląda tak:
CREATE TABLE IF NOT EXISTS `ShopCategory` ( `ID` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `slug` varchar(255) NOT NULL, `parentID` int(11) UNSIGNED DEFAULT NULL, `description` text, `status` tinyint(1) NOT NULL DEFAULT '0', PRIMARY KEY (`ID`), KEY `parentID` (`parentID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
Przykład:

Model:
... public function initialize() { $this->setSource("ShopCategory"); } ...
I pracuję nad funkcją, która pobierze wszystkie rekordy w odpowiedniej kolejności (tzn. rekord główny (parentID = NULL), potem jego rekordy potomne i ich rekordy potomne, aby w końcu powstało coś takiego:
Cały dzień nad tym myslę, kombinuję i nic... Wielu rozwiazań próbowałem (włącznie z zapisywaniem wszystkich rekordów do tablic i próbą ich sortowania) ale nic z tego nie wychodzi...
Problem jest w tym, że ilość zagnieżdżeń jest dowolna (gdyby tak nie było to wrzuciłbym pętlę for te X razy i by było).
Będę bardzo wdzieczny za pomoc.
Pozdrawiam