diff --git a/lib/Doctrine/Relation/Parser.php b/lib/Doctrine/Relation/Parser.php index 08699bf73..8e673ccab 100644 --- a/lib/Doctrine/Relation/Parser.php +++ b/lib/Doctrine/Relation/Parser.php @@ -174,7 +174,7 @@ class Doctrine_Relation_Parser } if ($recursive) { $this->getRelations(); - + return $this->getRelation($alias, false); } else { throw new Doctrine_Table_Exception('Unknown relation alias ' . $alias); @@ -328,6 +328,10 @@ class Doctrine_Relation_Parser $def['foreign'] = $def['table']->getIdentifier(); $def['localKey'] = true; } + } else { + if ($def['local'] !== $this->_table->getIdentifier()) { + $def['localKey'] = true; + } } } else { if (isset($def['foreign'])) {