摘要:系統樹圖地址安裝配置首先往應用中注冊,打開文件,在中添加一項然后發布拓展包的配置文件,使用如下命令此時目錄下會生成配置文件數據導入兩表三個自定義函數結構以父節點為基準的鏈式查詢增刪容易查詢不便結構以左右值包容形式增刪不便查詢容易圖片描述方法
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數據結構生成的視圖
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/30037.html
摘要:本文經授權轉自社區使用嵌套集合模型來實現模型的無限極分類說明大家通常都是使用遞歸實現無限極分類,都知道遞歸效率很低,下面推薦一個的擴展包,快速讓你的數據模型支持無限極樹狀層級結構,并且兼顧效率。 本文經授權轉自 PHPHub 社區 使用 Baum 嵌套集合模型來實現 Laravel 模型的無限極分類 說明 大家通常都是使用遞歸實現無限極分類,都知道遞歸效率很低,下面推薦一個 Larav...
摘要:個人網站最近剛寫了一個手機在線播放的電影站使用日常手記更新使用的的查詢作用域的本地作用域去自定義可復用的約束集合,方便鏈式調用什么是本地查詢作用域本地作用域允許我們定義通用的約束集合以便在應用中復用。 關于作者 程序開發人員,不拘泥于語言與技術,目前主要從事PHP和前端開發,使用Laravel和VueJs,App端使用Apicloud混合式開發。合適和夠用是最完美的追求。 個人網站:...
摘要:回來更新一波,最近刷劍指,才又發現樹真是一個大頭,二叉樹的題目和變化運用好多啊二叉樹算法引子很多人說二叉樹沒什么卵用,我覺得是他的工資和公司讓他跨不過這個坎還有很多人學了一些樹的知識,發現也用不上,我想說的是,讀一本書體現不了這本書 回來更新一波,最近刷《劍指offer》,才又發現樹真是一個大頭,二叉樹的題目和變化運用好多啊~ /** * PHP二叉樹算法 * Create...
摘要:回來更新一波,最近刷劍指,才又發現樹真是一個大頭,二叉樹的題目和變化運用好多啊二叉樹算法引子很多人說二叉樹沒什么卵用,我覺得是他的工資和公司讓他跨不過這個坎還有很多人學了一些樹的知識,發現也用不上,我想說的是,讀一本書體現不了這本書 回來更新一波,最近刷《劍指offer》,才又發現樹真是一個大頭,二叉樹的題目和變化運用好多啊~ /** * PHP二叉樹算法 * Create...
摘要:通過自定義的查詢加載和大多數情況下,你需要按層級排序祖先集合可以被預加載視圖模板中面包屑將祖先的全部取出后轉換為數組,在用拼接為字符串輸出。 原文鏈接:http://www.pilishen.com/posts...; 歡迎作客我們的php&Laravel學習群:109256050 laravel-nestedset是一個關系型數據庫遍歷樹的larvel4-5的插件包 目錄: Nes...
閱讀 2810·2019-08-30 15:55
閱讀 2857·2019-08-30 15:53
閱讀 2294·2019-08-26 13:47
閱讀 2557·2019-08-26 13:43
閱讀 3154·2019-08-26 13:33
閱讀 2801·2019-08-26 11:53
閱讀 1795·2019-08-23 18:35
閱讀 798·2019-08-23 17:16