如何只返回 typeorm 关系的一个属性?

Posted

技术标签:

【中文标题】如何只返回 typeorm 关系的一个属性?【英文标题】:How can I return only one attribute of a typeorm relation? 【发布时间】:2022-01-22 02:32:25 【问题描述】:

这是我返回所有视频的方法,当我发出请求时,除了返回视频之外,它还返回类别对象,但我只想返回类别名称而不是整个对象。

async listAll(request: Request, response: Response): Promise<Response> 
    const repo = getRepository(Video);
    const videos = await repo.find(
        relations: ['category']
    );
    return response.status(200).json(videos);

我的视频模型具有以下结构:

    @Column()
    category_id!: string;

    @ManyToOne(() => Category)
    @JoinColumn( name: "category_id" )
    category!: Category

【问题讨论】:

【参考方案1】:

也许你可以这样做

const videos = await repo.find(
          select: ["name_category","id_category"],
          relations: ["category"],
        );

【讨论】:

以上是关于如何只返回 typeorm 关系的一个属性?的主要内容,如果未能解决你的问题,请参考以下文章

TypeORM:如何实现双向关系,多个字段 --> 一种实体类型

TypeORM:使用自定义属性查询多对多

如何在typeORM中保存@ManyToMany中的关系

如何创建如何在 typeorm 中创建多对多关系,[NestJS]

如何使用 typeorm nestjs 加入 3 个关系表

如何在typeorm中查找id的数组属性包含某个id的实体