/**
  * Удаление сущности из БД
  *
  * @param EntityORM $oEntity Объект сущности
  * @return EntityORM|bool
  */
 protected function _DeleteEntity($oEntity)
 {
     $res = $this->oMapperORM->DeleteEntity($oEntity);
     if ($res) {
         // сбрасываем кеш
         $sEntity = $this->Plugin_GetRootDelegater('entity', get_class($oEntity));
         $this->Cache_Clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG, array($sEntity . '_delete'));
         // Удаление связей many_to_many
         foreach ($oEntity->_getRelations() as $sRelName => $aRelation) {
             if ($aRelation['type'] == EntityORM::RELATION_TYPE_MANY_TO_MANY) {
                 $this->_deleteManyToManyRelation($oEntity, $sRelName);
             }
         }
         return $oEntity;
     }
     return false;
 }
Esempio n. 2
0
 /**
  * Удаление сущности из БД
  *
  * @param EntityORM $oEntity    Объект сущности
  *
  * @return EntityORM|bool
  */
 protected function _DeleteEntity($oEntity)
 {
     $res = $this->oMapper->DeleteEntity($oEntity);
     if ($res) {
         // сбрасываем кеш
         $sEntity = E::ModulePlugin()->GetRootDelegater('entity', get_class($oEntity));
         E::ModuleCache()->Clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG, array($sEntity . '_delete'));
         // Обновление связей many_to_many
         foreach ($oEntity->_getRelations() as $sRelName => $aRelation) {
             if ($aRelation[0] == EntityORM::RELATION_TYPE_MANY_TO_MANY) {
                 $this->_deleteManyToManySet($aRelation[3], $aRelation[4], $oEntity->_getPrimaryKeyValue());
             }
         }
         return $oEntity;
     }
     return false;
 }