获得类别的祖先

Im trying to receive the ancestry list of a certain category.

I first have the Category ID to start with of the current category.

MY Category DB table:

ID NAME PARENT
1  Cars 0
2  Saloons 1
3  Wagons 1
4  Family 2

Im trying to return this list

Cars \ Saloons \ Family, from only knowing the child ID

Using ActiveRecord and Codeignighter I have come up with this in my model

public function get_ancestors( $category_id = 0 , &$parentcategory=null)
{
    $category = $this->get('id',$category_id);

    if($parentcategory)$category->parent =$parentcategory;

    if($category)
    {
        if($category->parent_id > 0)
        {
            return $this->get_ancestors($category->parent_id, $category );
        }

        return $category;
    }

    return array();
}               

Im not sure what I have done wrong, (see result below)

array (size=1)
  0 => 
    object(stdClass)[144]
      public 'id' => string '4' (length=2)
      public 'name' => string 'Family' (length=5)

More or less expecting something like

array (size=1)
  0 => 
    object(stdClass)[144]
      public 'id' => string '4' (length=2)
      public 'name' => string 'Family' (length=5)
      public 'parent' => array (size=1)
      0 => 
        object(stdClass)[144]
          public 'id' => string '2' (length=2)
          public 'name' => string 'Saloon' (length=5)
          public 'parent' => array (size=1)...

You should pass $tree by reference.

public function get_ancestors( $category_id = 0 , &$tree = array()  )

Notice & in line above.