TypeORM生成正确的查询,但不返回任何数据

时间:2019-05-17 10:37:35

标签: nestjs typeorm

我正在使用TypeORM查询一个简单的“ Like”实体,其定义如下:

@Entity()
export class Like extends BaseEntity {

    @ManyToOne(type => Post, post => post.likeList)
    post: Post;

    @ManyToOne(type => Contest, contest => contest.likeList)
    contest: Contest; // Denormalization

    @ManyToOne(type => User, user => user.likeList)
    user: User;
}

我需要基于where子句选择确定的postId,为实现这一点,我正在使用repository运行以下查询

const test = await this.repository.find({
                where: {
                    user: userId,
                    contest: contestId,
                },
                select: ['post'],
            });

针对我的postgres数据库运行时,生成的SQL语句-SELECT "Like"."postId" FROM "like" "Like" WHERE "Like"."userId" = $1 AND "Like"."contestId" = $2 -- PARAMETERS: [3,1]-产生以下输出:

enter image description here

有趣的是,test的值始终是一个空数组...我缺少什么?

1 个答案:

答案 0 :(得分:0)

您可以尝试

const test = await this.repository.find({
                where: {
                    user: userId,
                    contest: contestId,
                },
                relations: ['post'],
            });
console.log('result data: test', test);
return test;