Рекурсивный Mysql запрос с использованием объекта базы данных Joomla

Привет im пытается fectch все дети и sub детей записи в БД
до сих пор у меня есть это

function fetchNetChildren($parent, $network) {
    $db = JFactory::getDBO();
    $db->setQuery('SELECT id FROM #__sometable_clients WHERE network_referal = '.$parent.' AND networks = '.$network.' AND `status` > 0');
    $list = array();
    while (true){
        $row = $db->loadAssocList();
        $list[] = $row['id'];
        $list = array_merge($list, fetchNetChildren($row['id'], $network));
    }
    return $list;
}

когда я запускаю этот ive получил 500 eror и понятия не имею, почему, любые советы?

1 ответ

  1. Ive достиг этого, используя другой aproach, ive отбросил начальный funcion и создал 2 других, которые возвращают то, что я хочу.

    1-я создал запрос mysql, который возвращает в многомерном массиве всех детей, внуков и т.д. предоставленного идентификатора.

    function getChilds($parentid, $network) {
        // query linda e maravilhosa
        $query = '
        select @pv:=id as id, network_referal from #__mytable
        join
        (select @pv:='.$parentid.')tmp
        where network_referal=@pv and networks = '.$network.' ';
        $campos = carregarcampos($query,'list');
        return $campos;
    }
    

    2-с помощью data $elements теперь я могу манипулировать и создавать многомерный массив php, организующий предоставленные данные

    function buildTree(array $elements, $parentId = 0) {
        $branch = array();
    
        foreach ($elements as $element) {
            if ($element['parent_id'] == $parentId) {
                $children = buildTree($elements, $element['id']);
                if ($children) {
                    $element['children'] = $children;
                }
                $branch[] = $element;
            }
        }
    
        return $branch;
    }
    

    так что для использования я должен запустить

    buildTree(getChilds($parentid, $network), $parentid)