private function _deleteObject(PersistentObject $object, ClassMap $classMap, &$commands) { $mmCmd = array(); $associationMaps = $classMap->getAssociationMaps(); if (count($associationMaps)) { foreach ($associationMaps as $associationMap) { if (!$associationMap->isDeleteAutomatic()) { continue; } $this->__deleteAssociation($object, $associationMap, $mmCmd, $classMap); } } $statement = $classMap->getDeleteSqlFor($object); $commands[] = $statement->delete(); if (count($mmCmd)) { $commands = array_merge($mmCmd, $commands); } $this->logger($commands, $classMap, $object, 'delete'); if ($classMap->getSuperClassMap() != NULL) { $this->_deleteObject($object, $classMap->getSuperClassMap(), $commands); } $object->setPersistent(FALSE); }