需求:展示分类列表
思路:使用无限分类,操作是数组,非树状结构
public static function getTree($data,$pId,$level = 0){
static $list = [];
foreach ($data as $key => $value){
//第一次遍历,找到父节点为根节点的节点 也就是pid=0的节点
if ($value['parent_id'] == $pId){
//父节点为根节点的节点,级别为0,也就是第一级
$value['level'] = $level;
$value['display_name'] =$value['displayname'];
$value['displayname'] = str_repeat('━━', $value['level']).$value['displayname'];
//把数组放到list中
$list[] = $value;
//把这个节点从数组中移除,减少后续递归消耗
unset($data[$key]);
//开始递归,查找父ID为该节点ID的节点,级别则为原级别+1
self::getTree($data, $value['id'], $level+1);
}
}
return $list;
}
疑问:laravel提供的分页操作的是集合,如果我用上面的方法就无法进行分页了,有什么好的基于laravel的无限分类吗
|