Commit ca775fdc authored by zYne's avatar zYne

fixed many-to-many column guessing

parent 115cadb0
...@@ -191,6 +191,23 @@ class Doctrine_Relation_Parser ...@@ -191,6 +191,23 @@ class Doctrine_Relation_Parser
$def['table'] = $conn->getTable($def['class']); $def['table'] = $conn->getTable($def['class']);
$def['refTable'] = $conn->getTable($def['refClass']); $def['refTable'] = $conn->getTable($def['refClass']);
$id = $def['refTable']->getIdentifier();
if (count($id) > 1) {
if ( ! isset($def['foreign'])) {
// foreign key not set
// try to guess the foreign key
$def['foreign'] = ($def['local'] === $id[0]) ? $id[1] : $id[0];
}
if ( ! isset($def['local'])) {
// foreign key not set
// try to guess the foreign key
$def['local'] = ($def['foreign'] === $id[0]) ? $id[1] : $id[0];
}
} else {
if ( ! isset($def['foreign'])) { if ( ! isset($def['foreign'])) {
// foreign key not set // foreign key not set
// try to guess the foreign key // try to guess the foreign key
...@@ -206,7 +223,7 @@ class Doctrine_Relation_Parser ...@@ -206,7 +223,7 @@ class Doctrine_Relation_Parser
$def['local'] = $columns; $def['local'] = $columns;
} }
}
return $def; return $def;
} }
/** /**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment