diff --git a/src/query-builder/relation-id/RelationIdLoader.ts b/src/query-builder/relation-id/RelationIdLoader.ts index c1fc710d6..63e8f6280 100644 --- a/src/query-builder/relation-id/RelationIdLoader.ts +++ b/src/query-builder/relation-id/RelationIdLoader.ts @@ -143,11 +143,13 @@ export class RelationIdLoader { const qb = new QueryBuilder(this.connection, this.queryRunnerProvider); inverseJoinColumns.forEach(joinColumn => { - qb.addSelect(junctionAlias + "." + joinColumn.propertyPath, joinColumn.databaseName); + qb.addSelect(junctionAlias + "." + joinColumn.propertyPath, joinColumn.databaseName) + .addOrderBy(junctionAlias + "." + joinColumn.propertyPath); }); joinColumns.forEach(joinColumn => { - qb.addSelect(junctionAlias + "." + joinColumn.propertyPath, joinColumn.databaseName); + qb.addSelect(junctionAlias + "." + joinColumn.propertyPath, joinColumn.databaseName) + .addOrderBy(junctionAlias + "." + joinColumn.propertyPath); }); qb.fromTable(inverseSideTableName, inverseSideTableAlias) diff --git a/test/functional/query-builder/relation-id/many-to-many/multiple-pk/multiple-pk.ts b/test/functional/query-builder/relation-id/many-to-many/multiple-pk/multiple-pk.ts index fbacc4932..b164a8ea0 100644 --- a/test/functional/query-builder/relation-id/many-to-many/multiple-pk/multiple-pk.ts +++ b/test/functional/query-builder/relation-id/many-to-many/multiple-pk/multiple-pk.ts @@ -678,6 +678,7 @@ describe("query builder > relation-id > many-to-many > multiple-pk", () => { .loadRelationIdAndMap("image.categoryIds", "image.categories") .leftJoinAndSelect("image.categories", "category") .loadRelationIdAndMap("category.postIds", "category.posts") + .orderBy("category.id") .getMany(); expect(loadedImages[0].categoryIds).to.not.be.empty; @@ -707,6 +708,7 @@ describe("query builder > relation-id > many-to-many > multiple-pk", () => { .loadRelationIdAndMap("image.categoryIds", "image.categories") .leftJoinAndSelect("image.categories", "category") .loadRelationIdAndMap("category.postIds", "category.posts") + .orderBy("category.id") .where("image.id = :id", { id: 1 }) .getOne(); diff --git a/test/functional/query-builder/relation-id/one-to-many/basic-functionality/basic-functionality.ts b/test/functional/query-builder/relation-id/one-to-many/basic-functionality/basic-functionality.ts index 300aa2f7b..d2f6a802d 100644 --- a/test/functional/query-builder/relation-id/one-to-many/basic-functionality/basic-functionality.ts +++ b/test/functional/query-builder/relation-id/one-to-many/basic-functionality/basic-functionality.ts @@ -187,6 +187,7 @@ describe("query builder > relation-id > one-to-many > basic-functionality", () = .loadRelationIdAndMap("post.categoryIds", "post.categories") .leftJoinAndSelect("post.categories", "category") .loadRelationIdAndMap("category.imageIds", "category.images") + .orderBy("category.id") .getMany(); expect(loadedPosts[0].categoryIds).to.not.be.empty; @@ -220,6 +221,7 @@ describe("query builder > relation-id > one-to-many > basic-functionality", () = .leftJoinAndSelect("post.categories", "category") .loadRelationIdAndMap("category.imageIds", "category.images") .where("post.id = :id", { id: 1 }) + .orderBy("category.id") .getOne(); expect(loadedPost!.categoryIds).to.not.be.empty; diff --git a/test/functional/query-builder/relation-id/one-to-many/multiple-pk/multiple-pk.ts b/test/functional/query-builder/relation-id/one-to-many/multiple-pk/multiple-pk.ts index 509003930..3c2b6e449 100644 --- a/test/functional/query-builder/relation-id/one-to-many/multiple-pk/multiple-pk.ts +++ b/test/functional/query-builder/relation-id/one-to-many/multiple-pk/multiple-pk.ts @@ -292,6 +292,7 @@ describe("query builder > relation-id > one-to-many > multiple-pk", () => { .loadRelationIdAndMap("post.categoryIds", "post.categories") .leftJoinAndSelect("post.categories", "category") .loadRelationIdAndMap("category.imageIds", "category.images") + .orderBy("category.id") .getMany(); expect(loadedPosts[0].categoryIds).to.not.be.empty; @@ -323,6 +324,7 @@ describe("query builder > relation-id > one-to-many > multiple-pk", () => { .loadRelationIdAndMap("category.imageIds", "category.images") .where("post.id = :id", { id: 1 }) .andWhere("post.authorId = :authorId", { authorId: 1 }) + .orderBy("category.id") .getOne(); expect(loadedPost!.categoryIds).to.not.be.empty; diff --git a/test/functional/uuid/uuid.ts b/test/functional/uuid/uuid.ts index 80bde660b..e08aaded4 100644 --- a/test/functional/uuid/uuid.ts +++ b/test/functional/uuid/uuid.ts @@ -4,7 +4,7 @@ import {Record} from "./entity/Record"; import {Connection} from "../../../src/connection/Connection"; import {closeTestingConnections, createTestingConnections} from "../../utils/test-utils"; -describe.skip("uuid type", () => { +describe("uuid type", () => { let connections: Connection[]; before(async () => {