typescript - 限制和跳过 typeorm 中的相关列

标签 typescript nestjs typeorm

我试图在使用查询构建器查找时限制相关数据,但我错过了这个概念。

这是我获取员工订单的代码:

import { getRepository, Repository } from "typeorm";

    public async findEmployeeQuery(id : number) {
        try {
            let query = await getRepository(Employees)
            .createQueryBuilder('employee')
            .where('employee.id = :id' , {id})
            .leftJoinAndSelect('employee.customers' , 'customers')
            .getOne()
            const user = query
            return user
        } catch (error) {
            throw error
        }

    }

现在我想限制每个请求的客户数量 - 我该怎么做?

我尝试了限制和跳过选项,但这只适用于员工,不适用于连接的数据。

最佳答案

您必须进行另一个查询以限制客户:

import { getRepository, Repository } from "typeorm";

public async findEmployeeQuery(id : number) {
    try {
        let user = await getRepository(Employees)
        .createQueryBuilder('employee')
        .where('employee.id = :id' , {id});
        .getOne()

        user.customers = await getRepository(Customers)
        .createQueryBuilder('customer')
        .where('customer.employee= :id' , {user.id});
        .limit(10) // here you set limitation you want 
        .getMany()

        return user;
    } catch (error) {
        throw error
    }
}

关于typescript - 限制和跳过 typeorm 中的相关列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66943353/

相关文章:

angular - 如何让谷歌浏览器在 Angular 4 应用程序中全屏显示?

authentication - 自定义对 jwt 策略 NestJs 验证失败的响应

javascript - 如何在 NestJS 中编写嵌套 DTO

mysql - Typeorm 实体插入而不同步

javascript - 选择具有关系的repository.find() 上的属性(TypeORM)

node.js - 无法使用 Node App Engine 和 TypeOrm 连接到 Google Cloud SQL

typescript :尝试在接口(interface)中使用 `extends` 的泛型中使用 `this`

如果名称以数字结尾,Angular 4 OrderBy Pipe 不排序

Typescript:如何输入组合 reducer ?

node.js - NestJS 未定义的依赖项