本文整理匯總了PHP中Doctrine\ODM\MongoDB\Mapping\ClassMetadata::setIdentifier方法的典型用法代碼示例。如果您正苦於以下問題:PHP ClassMetadata::setIdentifier方法的具體用法?PHP ClassMetadata::setIdentifier怎麽用?PHP ClassMetadata::setIdentifier使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Doctrine\ODM\MongoDB\Mapping\ClassMetadata
的用法示例。
在下文中一共展示了ClassMetadata::setIdentifier方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: mapTranslation
/**
* Add mapping data to a translation entity
*
* @param ClassMetadata $metadata
*/
private function mapTranslation(ClassMetadata $metadata)
{
// In the case A -> B -> TranslationInterface, B might not have mapping defined as it
// is probably defined in A, so in that case, we just return;
if (!isset($this->mappings[$metadata->name])) {
return;
}
$config = $this->mappings[$metadata->name];
$mapping = $config['translation']['mapping'];
$metadata->isEmbeddedDocument = true;
$metadata->isMappedSuperclass = false;
$metadata->setIdentifier(null);
// Map locale field.
if (!$metadata->hasField($mapping['translation']['locale'])) {
$metadata->mapField(array('fieldName' => $mapping['translation']['locale'], 'type' => 'string'));
}
// Map unique index.
$keys = array($mapping['translation']['translatable'] => 1, $mapping['translation']['locale'] => 1);
if (!$this->hasUniqueIndex($metadata, $keys)) {
$metadata->addIndex($keys, array('unique' => true));
}
}