Laravel 分类列表无限分类展示问题
需求:展示分类列表
思路:使用无限分类,操作是数组,非树状结构
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的无限分类吗
无限极分类了还要分页?是这样吗?
https://learnku.com/index.php/articles/336...
这种数据结构对查询展示比较优化,希望能帮到你。
@Jouzeyu 嗯,感觉实际情况下关于无限分类的都不要分页吧
分类有点多了啊 = =
推荐使用closue table
https://github.com/jiaxincui/closure-table
默认查一级分类,然后在分类列表加一个查询下一级子类的功能,缺点就是多级分类时需要多次查询