本討論重點是從資料庫中擷取分層資料結構並將其轉換為多維數組單一查詢。目標是取得表示資料的樹結構的陣列。
為了從資料庫中提取樹結構,通常使用閉包表。閉包表記錄了層次結構中祖先和後代之間的關係,可以有效率地查詢後代。
給定節點的主鍵,可以使用SQL 查詢其後代使用以下步驟:
然後按以下方式處理 SQL 結果:
在PHP 中,使用Zend Framework,以下程式碼示範了該過程:
// Get taxonomy table instance $tax = new Taxonomy(); // Fetch tree starting at Rodentia (id 180130) to a depth of 2 $tree = $tax->fetchTree(180130, 2); // Dump the array var_export($tree->toArrayDeep());
輸出是🎜>輸出是一個多維數組,表示資料的樹狀結構,如:
array ( 'tsn' => '180130', 'completename' => 'Rodentia', '_parent' => '179925', '_children' => [ // Child rows... ], )
以上是如何將資料庫結果轉換為多維數組來表示分層資料結構?的詳細內容。更多資訊請關注PHP中文網其他相關文章!