Doctrine\ODM\MongoDB\DocumentManager::getClassMetadata PHP Method

getClassMetadata() public method

Returns the metadata for a class.
public getClassMetadata ( string $className ) : ClassMetadata
$className string The class name.
return Doctrine\ODM\MongoDB\Mapping\ClassMetadata
    public function getClassMetadata($className)
    {
        return $this->metadataFactory->getMetadataFor(ltrim($className, '\\'));
    }

Usage Example

 public function doCascadeRemovePersistentCollections($document, array &$visited)
 {
     $oid = spl_object_hash($document);
     if (isset($visited[$oid])) {
         return;
         // Prevent infinite recursion
     }
     $visited[$oid] = $document;
     // mark visited
     $class = $this->dm->getClassMetadata(get_class($document));
     $associationMappings = $class->associationMappings;
     foreach ($associationMappings as $assoc) {
         $relatedDocuments = $class->reflFields[$assoc['fieldName']]->getValue($document);
         if ($relatedDocuments instanceof PersistentCollection) {
             $relatedDocuments = $relatedDocuments->getValues();
         }
         if (is_array($relatedDocuments)) {
             $class->reflFields[$assoc['fieldName']]->setValue($document, $relatedDocuments);
             foreach ($relatedDocuments as $relatedDocument) {
                 $this->doCascadeRemovePersistentCollections($relatedDocument, $visited);
             }
         } elseif (is_object($relatedDocuments)) {
             $this->doCascadeRemovePersistentCollections($relatedDocuments, $visited);
         }
     }
 }
All Usage Examples Of Doctrine\ODM\MongoDB\DocumentManager::getClassMetadata