Obter soma da árvore de nós

Eu estou aprendendo php. Eu tenho essa estrutura

company 1 - $10| all $50
-company 1.1 - $10| all $20
--company 1.1.1 - 10$| all $10
-company 1.2 - $20| all $20

cada empresa pode ter várias empresas filhas e apenas um pai. Cada empresa tem dinheiro. Todas as empresas têm Allmoney - dinheiro próprio + dinheiro de todas as empresas filhas.

No MySQL esta estrutura como esta

id|parent_id|name|money|allmoney
1| 0| company 1| 10|###
2| 1| company 1.1|10 |###
3| 2| company 1.1.1|10 |###
4| 1| company 1.2|10 |###

Então, como eu calculo allmoney para cada empresa em php? Eu agora, que preciso usar recursão, mas tento e nada não pode acontecer. SELECT, UPDATE e outro comando mysql - Eu sei, por favor me ajude com php. Eu estou escrevendo algo assim:

function updatemoney($id)
    {
        $data = CS50::query("SELECT ...", $id);
        $allmoney = 0;

        if(count($data) > 0)
        {
            foreach($data as $row)
            {

                $allmoney += $row["cash"];
               //somewhere this, maybe need ubdate my db 
                $allmoney += updatemoney($row["id"]);
            }
        }
        else return 0;
    }

Muito obrigado

questionAnswers(2)

yourAnswerToTheQuestion