Как работает этот метод со ссылкой CodeIgniter

#php #codeigniter

Вопрос:

Может ли какой-нибудь опытный разработчик объяснить мне, как работает этот метод ? Он работает, но я не понимаю, как он строит выходной массив. Пример var_dump вывода можно посмотреть здесь нажмите

 public function getCategoriesTree($idRootCategory = null)
    {
        $this->db->select("*");
        $this->db->from('categories');

        $categories = array();
        $buff = array();

        foreach ($this->db->get()->result_array() as $row) {
            $current = amp;$buff[$row['CATEGORY_ID']];
            $current = $row;

            if ($row['CATEGORY_PARENT_ID'] == $idRootCategory) {
                $categories[$row['CATEGORY_ID']] = amp;$current;
            } else {
                $buff[$row['CATEGORY_PARENT_ID']]['children'][$row['CATEGORY_ID']] = amp;$current;
            }
        }

        return $categories;
    }