资讯专栏INFORMATION COLUMN

php无限分类树扩展组件

VioletJack / 2724人阅读

摘要:系统树图地址安装配置首先往应用中注册,打开文件,在中添加一项然后发布拓展包的配置文件,使用如下命令此时目录下会生成配置文件数据导入两表三个自定义函数结构以父节点为基准的链式查询增删容易查询不便结构以左右值包容形式增删不便查询容易图片描述方法

PHP系统树图

github地址

dendrogram Laravel PHP
v1.0 5.* >=5.6.4

安装

composer require dendrogram/dendrogram:v1.0

配置

首先往Laravel应用中注册ServiceProvider,打开文件config/app.php,在providers中添加一项:

"providers" => [
    DenDroGramDendrogramServiceProvider::class ]

然后发布拓展包的配置文件,使用如下命令:

php artisan vendor:publish

此时config目录下会生成dendrogram.php配置文件

数据导入(两表三个自定义函数)

php artisan migrate

adjacency结构 以父节点为基准的链式查询 增删容易 查询不便

nested结构 以左右值包容形式 增删不便 查询容易

图片描述

方法说明

调用 构造参数 方法说明 方法参数 返回 备注
(new DenDroGram(AdjacencyList::class))->buildTree($node_id,["name"]) adjacency数据格式 adjacency格式数据生成目录式结构树 根节点id , 每个节点显示信息 返回html文本string 视图的相关在dendrogram.php中配置 如操作节点方法的路由
(new DenDroGram(AdjacencyList::class))->operateNode($action,$data) adjacency数据格式 adjacency格式数据的节点操作 action增删改标识 , data节点详情数据 返回boolean 注意视图与之对应的数据结构AdjacencyList::class
(new DenDroGram(AdjacencyList::class))->getTreeData($node_id); adjacency数据格式 adjacency数据构造成多维数组 根节点id 返回array 多维数组结构
(new DenDroGram(NestedSet::class))->buildTree($node_id,["name"]) NestedSet数据格式 NestedSet格式数据生成根茎式结构树 根节点id , 每个节点显示信息 返回html文本string 视图的相关在dendrogram.php中配置 如操作节点方法的路由
(new DenDroGram(NestedSet::class))->operateNode($action,$data) NestedSet数据格式 NestedSet格式数据的节点操作 action增删改标识 , data节点详情数据 返回boolean 注意视图与之对应的数据结构NestedSet::class
(new DenDroGram(NestedSet::class))->getTreeData($node_id); NestedSet数据格式 NestedSet数据构造成多维数组 根节点id 返回array 多维数组结构

举个栗子

adjacency数据结构生成的视图

图片描述

nested数据结构生成的视图

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/30037.html

相关文章

  • 使用 Baum 嵌套集合模型来实现 Laravel 模型的无限分类

    摘要:本文经授权转自社区使用嵌套集合模型来实现模型的无限极分类说明大家通常都是使用递归实现无限极分类,都知道递归效率很低,下面推荐一个的扩展包,快速让你的数据模型支持无限极树状层级结构,并且兼顾效率。 本文经授权转自 PHPHub 社区 使用 Baum 嵌套集合模型来实现 Laravel 模型的无限极分类 说明 大家通常都是使用递归实现无限极分类,都知道递归效率很低,下面推荐一个 Larav...

    superPershing 评论0 收藏0
  • 【日常手记】之Laravel5.3

    摘要:个人网站最近刚写了一个手机在线播放的电影站使用日常手记更新使用的的查询作用域的本地作用域去自定义可复用的约束集合,方便链式调用什么是本地查询作用域本地作用域允许我们定义通用的约束集合以便在应用中复用。 关于作者 程序开发人员,不拘泥于语言与技术,目前主要从事PHP和前端开发,使用Laravel和VueJs,App端使用Apicloud混合式开发。合适和够用是最完美的追求。 个人网站:...

    kidsamong 评论0 收藏0
  • 利用PHP实现常用的数据结构之二叉(小白系列文章五)

    摘要:回来更新一波,最近刷剑指,才又发现树真是一个大头,二叉树的题目和变化运用好多啊二叉树算法引子很多人说二叉树没什么卵用,我觉得是他的工资和公司让他跨不过这个坎还有很多人学了一些树的知识,发现也用不上,我想说的是,读一本书体现不了这本书 回来更新一波,最近刷《剑指offer》,才又发现树真是一个大头,二叉树的题目和变化运用好多啊~ /** * PHP二叉树算法 * Create...

    developerworks 评论0 收藏0
  • 利用PHP实现常用的数据结构之二叉(小白系列文章六)

    摘要:回来更新一波,最近刷剑指,才又发现树真是一个大头,二叉树的题目和变化运用好多啊二叉树算法引子很多人说二叉树没什么卵用,我觉得是他的工资和公司让他跨不过这个坎还有很多人学了一些树的知识,发现也用不上,我想说的是,读一本书体现不了这本书 回来更新一波,最近刷《剑指offer》,才又发现树真是一个大头,二叉树的题目和变化运用好多啊~ /** * PHP二叉树算法 * Create...

    Cympros 评论0 收藏0
  • laravel-nestedset:多级无限分类正确姿势

    摘要:通过自定义的查询加载和大多数情况下,你需要按层级排序祖先集合可以被预加载视图模板中面包屑将祖先的全部取出后转换为数组,在用拼接为字符串输出。 原文链接:http://www.pilishen.com/posts...; 欢迎作客我们的php&Laravel学习群:109256050 laravel-nestedset是一个关系型数据库遍历树的larvel4-5的插件包 目录: Nes...

    pf_miles 评论0 收藏0

发表评论

0条评论

VioletJack

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<