獲取樹結構資料

2022-05-17 03:18:17 字數 1130 閱讀 3854

public

function

getrolefields()

$result = self::formatfileds($hrmauthfuncfieldmaps, 0);

return

$result

; }

public

function formatfileds($hrmauthfuncfieldmaps, $fatherid

)

$result =;

$directories = $hrmauthfuncfieldmaps[$fatherid

];

foreach ($directories

as$directory

)

$result = $treenode

; }

return

$result

; }

總的來說就是先根據father_id進行分類,然後分完類之後之後遞迴獲取資料即可。

同樣的我們需要考慮如何獲取樹的所有節點,然後將這些節點合併起來,我們可以這樣做:

//

查詢該節點的子節點

$directories = cataloguemodel::query()

->where('father_id', $parentnode->id)

->get();

$allcatalogues = $directories

;

//查詢出節點下的所有目錄

while (true

)

$nextlevelnodes = $nextlevelnodes->merge($directory->childcatalogues);

}if (count($nextlevelnodes) === 0)

$allcatalogues = $allcatalogues->merge($nextlevelnodes

);

$directories = $nextlevelnodes

; }

樹結構獲取資料問題

系統結構如圖 功能要求 1.統計單位面積用電量 2.統計人均用電量 建築表結構 region regionid name parentid 電表結構 device deviceid name parentid regionid 關於建築的面積和人數的設定問題 開始時候想如果建築節點沒有子節點則提示使...

資料結構 樹結構

樹結構以一種 一對多 的資料關係。樹的結點 結點 樹結構的每乙個元素都可以被稱為乙個節點。父結點 a結點是b,c的父結點 子結點 b,c是a的子結點 根結點 a是樹的根結點,每乙個非空的樹結構中只有乙個根結點 q 如何判斷某個結點是否是根結點?a 根結點沒有父節點 葉子結點 d,e,f是葉子結點,葉...

搞懂資料結構 樹結構

樹結構是一種非常重要的非線性結構,反應了資料元素之間的層次關係和分支關係。樹的表示方法 根據樹中節點的各子樹從左到右是否有次序,能否交換分為 二叉樹並非是樹的特殊情形,它和度數為2的有序樹是兩種不同的資料結構。二叉樹的儲存結構可分為順序儲存和鏈式儲存。順序儲存 二叉樹的順序儲存結構就是把二叉樹的所有...