【问题标题】:TypeORM Error: "item" alias was not found. Maybe you forgot to join it?TypeORM 错误:找不到“项目”别名。也许你忘了加入它?
【发布时间】:2021-01-30 23:21:27
【问题描述】:

我想使用 typeorm queryBuilder 创建这个 SQL

SELECT * FROM `item-stats` LEFT JOIN item ON item.itemStatsId = `item-stats`.id WHERE item.state = 'Active' LIMIT 1

我的代码是:

await getConnection()
            .getRepository(ItemStatsEntity)
            .createQueryBuilder('itemStats')
            .leftJoin('item.itemStatsId', 'itemStatsId', 'itemStatsId = itemStats.id') 
            .orderBy('subjectCharCnt', 'DESC') 
            .getOne();

但我收到一个错误:

Error: "item" alias was not found. Maybe you forgot to join it?

我的代码有什么问题?

【问题讨论】:

    标签: left-join query-builder typeorm


    【解决方案1】:

    你应该在createQueryBuilder中指定别名

       await getConnection()
                    .getRepository(ItemStatsEntity)
                    .createQueryBuilder('item') // you set the alias here
                    .leftJoin('item.itemStatsId', 'itemStatsId', 'itemStatsId = itemStats.id') 
                    .orderBy('subjectCharCnt', 'DESC') 
                    .getOne();
    

    【讨论】:

      猜你喜欢
      • 2019-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-06
      • 1970-01-01
      • 1970-01-01
      • 2022-06-12
      • 1970-01-01
      相关资源
      最近更新 更多