Dcat admin 的这个多级树是怎么展示出来的

Dcat admin 的这个多级树是怎么展示出来的

我的数据结构是

Dcat admin 的这个多级树是怎么展示出来的
我的代码

Dcat admin 的这个多级树是怎么展示出来的

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 1

应该是用的递归,先把所有数据查出来

protected function buildSelectOptions(array $nodes = [], $parentId = 0, $prefix = '', $space = ' ')
{
    $d = '├─';
    $prefix = $prefix ?: $d.$space;

    $options = [];

    if (empty($nodes)) {
        $nodes = $this->allNodes()->toArray();
    }

    foreach ($nodes as $index => $node) {
        if ($node[$this->getParentColumn()] == $parentId) {
            $currentPrefix = $this->hasNextSibling($nodes, $node[$this->getParentColumn()], $index) ? $prefix : str_replace($d, '└─', $prefix);

            $node[$this->getTitleColumn()] = $currentPrefix.$space.$node[$this->getTitleColumn()];

            $childrenPrefix = str_replace($d, str_repeat($space, 6), $prefix).$d.str_replace([$d, $space], '', $prefix);

            $children = $this->buildSelectOptions($nodes, $node[$this->getKeyName()], $childrenPrefix);

            $options[$node[$this->getKeyName()]] = $node[$this->getTitleColumn()];

            if ($children) {
                $options += $children;
            }
        }
    }

    return $options;
}
2个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!