我有这样的类别层次结构。php类别递归层次结构
- 721父235
- 235父201
- 201父1
- 1亲本是0
0是根类别ID,我试图建立一个功能输入叶编号721,获得完整路径编号721,235,201,1
public function getPath($inputId = 0, $idList=array())
{
$sql ="SELECT * FROM hierarchy where id='{$inputId}'";
$result = $this->db->fetchAll($sql);
if($result){
$currentId = $result[0]["id"];
$parentId = $result[0]["parent_id"];
$idList[] = $currentId;
if ($parentId !=0){
$this->getPath($parentId, $idList);
}else{
//var_dump($idList);
return $idList;
}
}
}
我可以在上面的var_dump部分看到正确的结果,但是当我从另一个类使用此函数时,它将返回null,如下所示: $ data = $ whateveHelper-> getPath('721');
任何人都可以帮忙吗?
感谢
你对'getPath'的递归调用返回的值没有做任何事情。 – Gumbo
根据您的数据库,您可能有扩展可用于树/图数据。同样的,如果你打算在树上工作,存储过程对你来说可能是有价值的。 –