# This patch file was generated by NetBeans IDE # Following Index: paths are relative to: /home/pablo/www/site/backend/vendor/doctrine/lib/Doctrine/ORM # This patch can be applied using context Tools: Patch action on respective folder. # It uses platform neutral UTF-8 encoding and \n newlines. # Above lines and this line are ignored by the patching process. Index: Mapping/ClassMetadataInfo.php --- Mapping/ClassMetadataInfo.php Base (BASE) +++ Mapping/ClassMetadataInfo.php Locally Modified (Based On LOCAL) @@ -992,8 +992,10 @@ if (isset($joinColumn['onDelete']) && strtolower($joinColumn['onDelete']) == 'cascade') { $mapping['isOnDeleteCascade'] = true; } - $mapping['relationToSourceKeyColumns'][$joinColumn['name']] = $joinColumn['referencedColumnName']; - $mapping['joinTableColumns'][] = $joinColumn['name']; + $joinColumnName = $joinColumn['name'][0] == '`' ? trim($joinColumn['name'], '`') : $joinColumn['name']; + $mapping['relationToSourceKeyColumns'][$joinColumnName] = $joinColumn['referencedColumnName']; + $mapping['joinTableColumns'][] = $joinColumnName; + $mapping['joinTableColumnsQuoted'][$joinColumnName] = $joinColumn['name'][0] == '`' ? true : false; } foreach ($mapping['joinTable']['inverseJoinColumns'] as &$inverseJoinColumn) { @@ -1006,8 +1008,10 @@ if (isset($inverseJoinColumn['onDelete']) && strtolower($inverseJoinColumn['onDelete']) == 'cascade') { $mapping['isOnDeleteCascade'] = true; } - $mapping['relationToTargetKeyColumns'][$inverseJoinColumn['name']] = $inverseJoinColumn['referencedColumnName']; - $mapping['joinTableColumns'][] = $inverseJoinColumn['name']; + $inverseJoinColumnName = $inverseJoinColumn['name'][0] == '`' ? trim($inverseJoinColumn['name'], '`') : $inverseJoinColumn['name']; + $mapping['relationToTargetKeyColumns'][$inverseJoinColumnName] = $inverseJoinColumn['referencedColumnName']; + $mapping['joinTableColumns'][] = $inverseJoinColumnName; + $mapping['joinTableColumnsQuoted'][$inverseJoinColumnName] = $inverseJoinColumn['name'][0] == '`' ? true : false; } } Index: Persisters/BasicEntityPersister.php --- Persisters/BasicEntityPersister.php Base (BASE) +++ Persisters/BasicEntityPersister.php Locally Modified (Based On LOCAL) @@ -787,6 +787,7 @@ if ($assoc['isOwningSide']) { $quotedJoinTable = $sourceClass->getQuotedJoinTableName($assoc, $this->_platform); foreach ($assoc['relationToSourceKeyColumns'] as $relationKeyColumn => $sourceKeyColumn) { + $quotedRelationKeyColumn = $assoc['joinTableColumnsQuoted'][$relationKeyColumn] ? $this->_platform->quoteIdentifier($relationKeyColumn) : $relationKeyColumn; if ($sourceClass->containsForeignIdentifier) { $field = $sourceClass->getFieldForColumn($sourceKeyColumn); $value = $sourceClass->reflFields[$field]->getValue($sourceEntity); @@ -795,9 +796,9 @@ $value = $value[$this->_em->getClassMetadata($sourceClass->associationMappings[$field]['targetEntity'])->identifier[0]]; } - $criteria[$quotedJoinTable . "." . $relationKeyColumn] = $value; + $criteria[$quotedJoinTable . "." . $quotedRelationKeyColumn] = $value; } else if (isset($sourceClass->fieldNames[$sourceKeyColumn])) { - $criteria[$quotedJoinTable . "." . $relationKeyColumn] = $sourceClass->reflFields[$sourceClass->fieldNames[$sourceKeyColumn]]->getValue($sourceEntity); + $criteria[$quotedJoinTable . "." . $quotedRelationKeyColumn] = $sourceClass->reflFields[$sourceClass->fieldNames[$sourceKeyColumn]]->getValue($sourceEntity); } else { throw MappingException::joinColumnMustPointToMappedField( $sourceClass->name, $sourceKeyColumn @@ -1036,6 +1037,7 @@ $joinSql = ''; foreach ($joinClauses as $joinTableColumn => $sourceColumn) { + $quotedJoinTableColumn = $manyToMany['joinTableColumnsQuoted'][$joinTableColumn] ? $this->_platform->quoteIdentifier($joinTableColumn) : $joinTableColumn; if ($joinSql != '') $joinSql .= ' AND '; if ($this->_class->containsForeignIdentifier && !isset($this->_class->fieldNames[$sourceColumn])) { @@ -1046,7 +1048,7 @@ $joinSql .= $this->_getSQLTableAlias($this->_class->name) . '.' . $quotedColumn . ' = ' - . $joinTableName . '.' . $joinTableColumn; + . $joinTableName . '.' . $quotedJoinTableColumn; } return " INNER JOIN $joinTableName ON $joinSql";