dqx13503925528 2014-06-23 06:35
浏览 20

获得类别的祖先

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)...
  • 写回答

1条回答 默认 最新

  • doujiyun8846 2014-06-23 06:42
    关注

    You should pass $tree by reference.

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

    Notice & in line above.

    评论

报告相同问题?

悬赏问题

  • ¥17 pro*C预编译“闪回查询”报错SCN不能识别
  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向