Example #1
0
 /**
  * Для сущности со связью RELATION_TYPE_TREE возвращает предка
  *
  * @param EntityORM $oEntity    Объект сущности
  *
  * @return EntityORM|bool
  */
 protected function _GetParentOfEntity($oEntity)
 {
     if (in_array(EntityORM::RELATION_TYPE_TREE, $oEntity->_getRelations())) {
         $aRelationsData = $oEntity->_getRelationsData();
         if (array_key_exists('parent', $aRelationsData)) {
             $oParent = $aRelationsData['parent'];
         } else {
             $oParent = '%%NULL_PARENT%%';
             if ($sPrimaryKey = $oEntity->_getPrimaryKey()) {
                 if ($sParentId = $oEntity->getParentId()) {
                     $oParent = $this->GetByFilter(array($sPrimaryKey => $sParentId), E::GetEntityName($oEntity));
                 }
             }
         }
         if (!is_null($oParent)) {
             $oEntity->setParent($oParent);
             return $oParent;
         }
     }
     return false;
 }