数据表如下:
返回数据格式如下:
public function getTickers()
{
$result = $this->dbGetVal(0);//第一级pid默认为0
$list= $this->getChildrenList($result);
return $list ? Tool::jsonToReturn(200, 'success', $list) : Tool::jsonToReturn(0, 'error', []);
}
//递推方法
public function getChildrenList($arrlist)
{
$newArrlist= array_map(function($item){
$list=$this->dbGetVal($item['id']);
if(count($list)>0){
$item['children']=$this->getChildrenList($list);
}
return $item;
},$arrlist);
return $newArrlist;
}
//根据父级id从数据库获取子级数据
//@$pid:父级id
public function dbGetVal($pid)
{
$result = Db::table('test')->where('pid', $pid)->select()->toArray();
return $result ? $result : [];
}