繁体   English   中英

TypeORM 第二个 JOIN 语句不提供结果

[英]TypeORM second JOIN statement does not provide results

我有一个包含产品、制造商和系列的数据库。 产品和制造商之间存在一种:m 关系。 在一个集合中,用户可以存储产品,因此产品和集合也通过一个:m 关系连接。

现在,我必须根据 collectionId 为其制造商加载产品。

目前我有以下片段:

CollectionProducts.createQueryBuilder("cp")
    .innerJoinAndSelect("cp.product", "product")
    .leftJoinAndSelect(
      Manufacturer,
      "manufacturer",
      "product.manufacturerId = manufacturer.id"
    )
    .where("cp.collectionId IN(:...ids)", { ids: collectionIds })
    .getMany();

产品加载成功,但厂商未加载。

这是打印出来的结果:

[
  CollectionProducts {
    collectionId: 1,
    productId: 1,
    __product__: Product {
      id: 1,
      name: 'Tea',
      productImage: '',
      description: 'Peach',
      releaseDate: 2021-10-19T18:13:42.938Z,
      status: null,
      origin: 'Germany',
      manufacturerId: 1
    }
  }
]

有人知道我在那里做错了什么吗?

我有我的具体问题的解决方案。 而不是使用的getMany()我不得不使用getRawMany() 生成的 SQL 本身是正确的,使用getRawMany()我得到了所有需要的结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM