diff --git a/engine/classes/ModuleORM.class.php b/engine/classes/ModuleORM.class.php index fa7f4bc3..1fd00fae 100644 --- a/engine/classes/ModuleORM.class.php +++ b/engine/classes/ModuleORM.class.php @@ -141,11 +141,10 @@ abstract class ModuleORM extends Module { $aAncestors=$aRelationsData['ancestors']; } else { $aAncestors=array(); - $sParentId=$oEntity->getParentId(); - while($sParentId > 0) { - $oEntity=$oEntity->getParent(); - $aAncestors[]=$oEntity; - $sParentId=$oEntity->getParentId(); + $oEntityParent=$oEntity->getParent(); + while(is_object($oEntityParent)) { + $aAncestors[]=$oEntityParent; + $oEntityParent=$oEntityParent->getParent(); } } if(is_array($aAncestors)) { @@ -165,7 +164,6 @@ abstract class ModuleORM extends Module { } else { $aDescendants=array(); if($aChildren=$oEntity->getChildren()) { - $aDescendants=$aChildren; $aTree=self::buildTree($aChildren); foreach($aTree as $aItem) { $aDescendants[] = $aItem['entity'];