Merge pull request #5913 from ReenExeContributor/clear-code-metadata-info
Clear code metadata info
This commit is contained in:
commit
ab4b761110
@ -1465,8 +1465,7 @@ class ClassMetadataInfo implements ClassMetadata
|
|||||||
|
|
||||||
$mapping['isOwningSide'] = true; // assume owning side until we hit mappedBy
|
$mapping['isOwningSide'] = true; // assume owning side until we hit mappedBy
|
||||||
|
|
||||||
// unset optional indexBy attribute if its empty
|
if (empty($mapping['indexBy'])) {
|
||||||
if ( ! isset($mapping['indexBy']) || !$mapping['indexBy']) {
|
|
||||||
unset($mapping['indexBy']);
|
unset($mapping['indexBy']);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1544,13 +1543,12 @@ class ClassMetadataInfo implements ClassMetadata
|
|||||||
// Cascades
|
// Cascades
|
||||||
$cascades = isset($mapping['cascade']) ? array_map('strtolower', $mapping['cascade']) : array();
|
$cascades = isset($mapping['cascade']) ? array_map('strtolower', $mapping['cascade']) : array();
|
||||||
|
|
||||||
|
$allCascades = array('remove', 'persist', 'refresh', 'merge', 'detach');
|
||||||
if (in_array('all', $cascades)) {
|
if (in_array('all', $cascades)) {
|
||||||
$cascades = array('remove', 'persist', 'refresh', 'merge', 'detach');
|
$cascades = $allCascades;
|
||||||
}
|
} elseif (count($cascades) !== count(array_intersect($cascades, $allCascades))) {
|
||||||
|
|
||||||
if (count($cascades) !== count(array_intersect($cascades, array('remove', 'persist', 'refresh', 'merge', 'detach')))) {
|
|
||||||
throw MappingException::invalidCascadeOption(
|
throw MappingException::invalidCascadeOption(
|
||||||
array_diff($cascades, array_intersect($cascades, array('remove', 'persist', 'refresh', 'merge', 'detach'))),
|
array_diff($cascades, $allCascades),
|
||||||
$this->name,
|
$this->name,
|
||||||
$mapping['fieldName']
|
$mapping['fieldName']
|
||||||
);
|
);
|
||||||
@ -1585,7 +1583,7 @@ class ClassMetadataInfo implements ClassMetadata
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($mapping['isOwningSide']) {
|
if ($mapping['isOwningSide']) {
|
||||||
if ( ! isset($mapping['joinColumns']) || ! $mapping['joinColumns']) {
|
if (empty($mapping['joinColumns'])) {
|
||||||
// Apply default join column
|
// Apply default join column
|
||||||
$mapping['joinColumns'] = array(
|
$mapping['joinColumns'] = array(
|
||||||
array(
|
array(
|
||||||
@ -1599,8 +1597,8 @@ class ClassMetadataInfo implements ClassMetadata
|
|||||||
|
|
||||||
foreach ($mapping['joinColumns'] as &$joinColumn) {
|
foreach ($mapping['joinColumns'] as &$joinColumn) {
|
||||||
if ($mapping['type'] === self::ONE_TO_ONE && ! $this->isInheritanceTypeSingleTable()) {
|
if ($mapping['type'] === self::ONE_TO_ONE && ! $this->isInheritanceTypeSingleTable()) {
|
||||||
if (count($mapping['joinColumns']) == 1) {
|
if (count($mapping['joinColumns']) === 1) {
|
||||||
if ( ! isset($mapping['id']) || ! $mapping['id']) {
|
if (empty($mapping['id'])) {
|
||||||
$joinColumn['unique'] = true;
|
$joinColumn['unique'] = true;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -1645,8 +1643,8 @@ class ClassMetadataInfo implements ClassMetadata
|
|||||||
$mapping['targetToSourceKeyColumns'] = array_flip($mapping['sourceToTargetKeyColumns']);
|
$mapping['targetToSourceKeyColumns'] = array_flip($mapping['sourceToTargetKeyColumns']);
|
||||||
}
|
}
|
||||||
|
|
||||||
$mapping['orphanRemoval'] = isset($mapping['orphanRemoval']) ? (bool) $mapping['orphanRemoval'] : false;
|
$mapping['orphanRemoval'] = isset($mapping['orphanRemoval']) && $mapping['orphanRemoval'];
|
||||||
$mapping['isCascadeRemove'] = $mapping['orphanRemoval'] ? true : $mapping['isCascadeRemove'];
|
$mapping['isCascadeRemove'] = $mapping['orphanRemoval'] || $mapping['isCascadeRemove'];
|
||||||
|
|
||||||
if ($mapping['orphanRemoval']) {
|
if ($mapping['orphanRemoval']) {
|
||||||
unset($mapping['unique']);
|
unset($mapping['unique']);
|
||||||
@ -1678,14 +1676,10 @@ class ClassMetadataInfo implements ClassMetadata
|
|||||||
throw MappingException::oneToManyRequiresMappedBy($mapping['fieldName']);
|
throw MappingException::oneToManyRequiresMappedBy($mapping['fieldName']);
|
||||||
}
|
}
|
||||||
|
|
||||||
$mapping['orphanRemoval'] = isset($mapping['orphanRemoval']) ? (bool) $mapping['orphanRemoval'] : false;
|
$mapping['orphanRemoval'] = isset($mapping['orphanRemoval']) && $mapping['orphanRemoval'];
|
||||||
$mapping['isCascadeRemove'] = $mapping['orphanRemoval'] ? true : $mapping['isCascadeRemove'];
|
$mapping['isCascadeRemove'] = $mapping['orphanRemoval'] || $mapping['isCascadeRemove'];
|
||||||
|
|
||||||
if (isset($mapping['orderBy'])) {
|
$this->assertMappingOrderBy($mapping);
|
||||||
if ( ! is_array($mapping['orderBy'])) {
|
|
||||||
throw new InvalidArgumentException("'orderBy' is expected to be an array, not ".gettype($mapping['orderBy']));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $mapping;
|
return $mapping;
|
||||||
}
|
}
|
||||||
@ -1789,13 +1783,9 @@ class ClassMetadataInfo implements ClassMetadata
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$mapping['orphanRemoval'] = isset($mapping['orphanRemoval']) ? (bool) $mapping['orphanRemoval'] : false;
|
$mapping['orphanRemoval'] = isset($mapping['orphanRemoval']) && $mapping['orphanRemoval'];
|
||||||
|
|
||||||
if (isset($mapping['orderBy'])) {
|
$this->assertMappingOrderBy($mapping);
|
||||||
if ( ! is_array($mapping['orderBy'])) {
|
|
||||||
throw new InvalidArgumentException("'orderBy' is expected to be an array, not ".gettype($mapping['orderBy']));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $mapping;
|
return $mapping;
|
||||||
}
|
}
|
||||||
@ -2213,11 +2203,11 @@ class ClassMetadataInfo implements ClassMetadata
|
|||||||
$overrideMapping['id'] = $mapping['id'];
|
$overrideMapping['id'] = $mapping['id'];
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( ! isset($overrideMapping['type']) || $overrideMapping['type'] === null) {
|
if ( ! isset($overrideMapping['type'])) {
|
||||||
$overrideMapping['type'] = $mapping['type'];
|
$overrideMapping['type'] = $mapping['type'];
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( ! isset($overrideMapping['fieldName']) || $overrideMapping['fieldName'] === null) {
|
if ( ! isset($overrideMapping['fieldName'])) {
|
||||||
$overrideMapping['fieldName'] = $mapping['fieldName'];
|
$overrideMapping['fieldName'] = $mapping['fieldName'];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2953,17 +2943,17 @@ class ClassMetadataInfo implements ClassMetadata
|
|||||||
{
|
{
|
||||||
if (isset($this->fieldNames[$columnName])) {
|
if (isset($this->fieldNames[$columnName])) {
|
||||||
return $this->fieldNames[$columnName];
|
return $this->fieldNames[$columnName];
|
||||||
} else {
|
|
||||||
foreach ($this->associationMappings as $assocName => $mapping) {
|
|
||||||
if ($this->isAssociationWithSingleJoinColumn($assocName) &&
|
|
||||||
$this->associationMappings[$assocName]['joinColumns'][0]['name'] == $columnName) {
|
|
||||||
|
|
||||||
return $assocName;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
throw MappingException::noFieldNameFoundForColumn($this->name, $columnName);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foreach ($this->associationMappings as $assocName => $mapping) {
|
||||||
|
if ($this->isAssociationWithSingleJoinColumn($assocName) &&
|
||||||
|
$this->associationMappings[$assocName]['joinColumns'][0]['name'] == $columnName) {
|
||||||
|
|
||||||
|
return $assocName;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
throw MappingException::noFieldNameFoundForColumn($this->name, $columnName);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -3390,4 +3380,14 @@ class ClassMetadataInfo implements ClassMetadata
|
|||||||
|
|
||||||
return $sequencePrefix;
|
return $sequencePrefix;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param array $mapping
|
||||||
|
*/
|
||||||
|
private function assertMappingOrderBy(array $mapping)
|
||||||
|
{
|
||||||
|
if (isset($mapping['orderBy']) && !is_array($mapping['orderBy'])) {
|
||||||
|
throw new InvalidArgumentException("'orderBy' is expected to be an array, not " . gettype($mapping['orderBy']));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user