Benim veritabanında ben parentId tarafından sipariş verileri döndürür hiyerarşik düz tablo var ASC objectid
Ben bu recursive fonksiyon düzgün çalışması için elde bir sorun biraz yaşıyorum. Ben ilk Ebeveyn> Çocuk> Çocuk olsun ama bundan sonra ben başka bir şey olsun.
Bu herhangi bir yardım büyük beğeni topluyor.
İşte benim test kodu:
$objectArr = array();
$objectData = DAOFactory::getTemplateObjectsDAO()->queryByTemplateID(1);
for($i = 0; $i < count($objectData); $i++)
{
if(empty($objectData[$i]->parentID))
{
echo $objectData[$i]->objectID;
$objectArr[$i] = $objectData[$i];
$objectArr[$i]->children = array();
$objectArr[$i]->children = getChildren($objectData[$i]->objectID, $objectData);
}
}
function getChildren($objectID, $data)
{
$childArr = array();
foreach($data as $object)
{
if($object->parentID == $objectID)
{
$childArr = $object;
$childArr->children = array();
$childArr->children = getChildren($object->objectID, $data);
}
}
return $childArr;
}
new dBug($objectData);
Bu ben alıyorum çıktı:
