[英]Recursive Function To Create Array
我使用kohana框架,並且嘗試對遞歸函數進行編碼以創建類別樹。
我的類別表
id int(11) NO PRI NULL auto_increment
name varchar(50) NO NULL
parent_id int(11) NO NULL
projects_count int(11) NO NULL
我的例子不起作用
public static function category_list($parent_id = 0)
{
$result = Database::instance()->query('
SELECT name, projects_count
FROM project_categories
WHERE parent_id = ?',
array($parent_id)
);
$project_categories = array();
foreach($result as $row)
{
$project_categories[] = $row;
Project_Categories_Model::factory()->category_list($parent_id + 1);
}
return $project_categories;
}
使用這種分層數據實現非常不理想,因為要獲取每個子類別,您需要對數據庫進行單獨的查詢。 像這里一樣,您要創建遞歸函數。
如果仍然可以更改表體系結構,請選中“ 在MySQL中管理層次數據” 。
本文介紹了一種解決方案,即如何在一次查詢中獲取整個層次結構,因此不需要遞歸函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.