本文整理匯總了PHP中Doctrine\ORM\Mapping\MappingException::invalidOverrideFieldType方法的典型用法代碼示例。如果您正苦於以下問題:PHP MappingException::invalidOverrideFieldType方法的具體用法?PHP MappingException::invalidOverrideFieldType怎麽用?PHP MappingException::invalidOverrideFieldType使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Doctrine\ORM\Mapping\MappingException
的用法示例。
在下文中一共展示了MappingException::invalidOverrideFieldType方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: setAttributeOverride
/**
* Sets the override for a mapped field.
*
* @param string $fieldName
* @param array $overrideMapping
* @throws MappingException
* @param array $overrideMapping
* @return void
*/
public function setAttributeOverride($fieldName, array $overrideMapping)
{
if (!isset($this->fieldMappings[$fieldName])) {
throw MappingException::invalidOverrideFieldName($this->name, $fieldName);
}
$mapping = $this->fieldMappings[$fieldName];
if (isset($mapping['id'])) {
$overrideMapping['id'] = $mapping['id'];
}
if (!isset($overrideMapping['type']) || $overrideMapping['type'] === null) {
$overrideMapping['type'] = $mapping['type'];
}
if (!isset($overrideMapping['fieldName']) || $overrideMapping['fieldName'] === null) {
$overrideMapping['fieldName'] = $mapping['fieldName'];
}
if ($overrideMapping['type'] !== $mapping['type']) {
throw MappingException::invalidOverrideFieldType($this->name, $fieldName);
}
unset($this->fieldMappings[$fieldName]);
unset($this->fieldNames[$mapping['columnName']]);
unset($this->columnNames[$mapping['fieldName']]);
$this->_validateAndCompleteFieldMapping($overrideMapping);
$this->fieldMappings[$fieldName] = $overrideMapping;
}