filter('ParentID', '0'); $results = self::getFields($pages); return $results; } protected static function getFields($pages): array { $results = []; foreach ($pages as $p) { $results[] = [ 'id' => $p->ID, 'title' => $p->Title, 'children' => self::getFields($p->Children()), ]; } return $results; } }