fixed issues with custom relation names

This commit is contained in:
Umed Khudoiberdiev 2016-05-23 18:15:55 +05:00
parent aaf48f77c7
commit e7305e9c59
4 changed files with 6 additions and 6 deletions

View File

@ -1,7 +1,7 @@
{
"name": "typeorm",
"private": true,
"version": "0.0.2-alpha.25",
"version": "0.0.2-alpha.26",
"description": "Data-mapper ORM for Typescript",
"license": "Apache-2.0",
"readmeFilename": "README.md",

View File

@ -634,7 +634,7 @@ export class QueryBuilder<Entity> {
throw new Error(`Alias "${parentAlias}" was not found`);
const parentMetadata = this.aliasMap.getEntityMetadataByAlias(foundAlias);
const relation = parentMetadata.findRelationWithDbName(join.alias.parentPropertyName);
const relation = parentMetadata.findRelationWithPropertyName(join.alias.parentPropertyName);
const junctionMetadata = relation.junctionEntityMetadata;
const appendedCondition = join.condition ? " AND " + join.condition : "";
@ -660,7 +660,7 @@ export class QueryBuilder<Entity> {
} else if (relation.isManyToOne || (relation.isOneToOne && relation.isOwning)) {
const joinTableColumn = relation.joinColumn.referencedColumn.name;
const condition = join.alias.name + "." + joinTableColumn + "=" + parentAlias + "." + join.alias.parentPropertyName;
const condition = join.alias.name + "." + joinTableColumn + "=" + parentAlias + "." + relation.name;
return " " + joinType + " JOIN " + joinTableName + " " + join.alias.name + " " + join.conditionType + " " + condition + appendedCondition;
} else if (relation.isOneToMany || (relation.isOneToOne && !relation.isOwning)) {

View File

@ -68,10 +68,10 @@ export class AliasMap {
throw new Error(`Alias "${alias.parentAliasName}" was not found`);
const parentEntityMetadata = this.getEntityMetadataByAlias(parentAlias);
if (!parentEntityMetadata.hasRelationWithDbName(alias.parentPropertyName))
if (!parentEntityMetadata.hasRelationWithPropertyName(alias.parentPropertyName))
throw new Error("Relation metadata for " + alias.parentAliasName + "#" + alias.parentPropertyName + " was not found.");
const relation = parentEntityMetadata.findRelationWithDbName(alias.parentPropertyName);
const relation = parentEntityMetadata.findRelationWithPropertyName(alias.parentPropertyName);
return relation.inverseEntityMetadata;
}

View File

@ -79,7 +79,7 @@ export class RawSqlResultsToEntityTransformer {
// if relation is loaded then go into it recursively and transform its values too
metadata.relations.forEach(relation => {
const relationAlias = this.aliasMap.findAliasByParent(alias.name, relation.name);
const relationAlias = this.aliasMap.findAliasByParent(alias.name, relation.propertyName);
if (relationAlias) {
const joinMapping = this.joinMappings.find(joinMapping => joinMapping.alias === relationAlias);
const relatedEntities = this.groupAndTransform(rawSqlResults, relationAlias);