Merge pull request #896 from holtkamp/patch-2
Ensure <cascade/> elements preceed <join-columns/>
This commit is contained in:
commit
b65d9e6c83
@ -261,6 +261,39 @@ class XmlExporter extends AbstractExporter
|
|||||||
$associationMappingXml->addAttribute('orphan-removal', 'true');
|
$associationMappingXml->addAttribute('orphan-removal', 'true');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$cascade = array();
|
||||||
|
if ($associationMapping['isCascadeRemove']) {
|
||||||
|
$cascade[] = 'cascade-remove';
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($associationMapping['isCascadePersist']) {
|
||||||
|
$cascade[] = 'cascade-persist';
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($associationMapping['isCascadeRefresh']) {
|
||||||
|
$cascade[] = 'cascade-refresh';
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($associationMapping['isCascadeMerge']) {
|
||||||
|
$cascade[] = 'cascade-merge';
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($associationMapping['isCascadeDetach']) {
|
||||||
|
$cascade[] = 'cascade-detach';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (count($cascade) === 5) {
|
||||||
|
$cascade = array('cascade-all');
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($cascade) {
|
||||||
|
$cascadeXml = $associationMappingXml->addChild('cascade');
|
||||||
|
|
||||||
|
foreach ($cascade as $type) {
|
||||||
|
$cascadeXml->addChild($type);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (isset($associationMapping['joinTable']) && $associationMapping['joinTable']) {
|
if (isset($associationMapping['joinTable']) && $associationMapping['joinTable']) {
|
||||||
$joinTableXml = $associationMappingXml->addChild('join-table');
|
$joinTableXml = $associationMappingXml->addChild('join-table');
|
||||||
$joinTableXml->addAttribute('name', $associationMapping['joinTable']['name']);
|
$joinTableXml->addAttribute('name', $associationMapping['joinTable']['name']);
|
||||||
@ -330,39 +363,6 @@ class XmlExporter extends AbstractExporter
|
|||||||
$orderByFieldXml->addAttribute('direction', $direction);
|
$orderByFieldXml->addAttribute('direction', $direction);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$cascade = array();
|
|
||||||
|
|
||||||
if ($associationMapping['isCascadeRemove']) {
|
|
||||||
$cascade[] = 'cascade-remove';
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($associationMapping['isCascadePersist']) {
|
|
||||||
$cascade[] = 'cascade-persist';
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($associationMapping['isCascadeRefresh']) {
|
|
||||||
$cascade[] = 'cascade-refresh';
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($associationMapping['isCascadeMerge']) {
|
|
||||||
$cascade[] = 'cascade-merge';
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($associationMapping['isCascadeDetach']) {
|
|
||||||
$cascade[] = 'cascade-detach';
|
|
||||||
}
|
|
||||||
|
|
||||||
if (count($cascade) === 5) {
|
|
||||||
$cascade = array('cascade-all');
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($cascade) {
|
|
||||||
$cascadeXml = $associationMappingXml->addChild('cascade');
|
|
||||||
|
|
||||||
foreach ($cascade as $type) {
|
|
||||||
$cascadeXml->addChild($type);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($metadata->lifecycleCallbacks) && count($metadata->lifecycleCallbacks)>0) {
|
if (isset($metadata->lifecycleCallbacks) && count($metadata->lifecycleCallbacks)>0) {
|
||||||
|
Loading…
Reference in New Issue
Block a user