Doctrine\ODM\MongoDB\SchemaManager::createDocumentCollection PHP Method

createDocumentCollection() public method

Create the document collection for a mapped class.
public createDocumentCollection ( string $documentName )
$documentName string
    public function createDocumentCollection($documentName)
    {
        $class = $this->dm->getClassMetadata($documentName);
        if ($class->isMappedSuperclass || $class->isEmbeddedDocument || $class->isQueryResultDocument) {
            throw new \InvalidArgumentException('Cannot create document collection for mapped super classes, embedded documents or query result documents.');
        }
        if ($class->isFile()) {
            $this->dm->getDocumentDatabase($documentName)->createCollection($class->getCollection() . '.files');
            $this->dm->getDocumentDatabase($documentName)->createCollection($class->getCollection() . '.chunks');
            return;
        }
        $this->dm->getDocumentDatabase($documentName)->createCollection($class->getCollection(), $class->getCollectionCapped(), $class->getCollectionSize(), $class->getCollectionMax());
    }

Usage Example

コード例 #1
0
 protected function processDocumentCollection(SchemaManager $sm, $document)
 {
     $sm->createDocumentCollection($document);
 }