限制和跳过 typeorm 中的相关列

Kam*_*wan 3 typescript typeorm nestjs

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

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

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
        }

    }
Run Code Online (Sandbox Code Playgroud)

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

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

You*_*uba 8

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

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
    }
}
Run Code Online (Sandbox Code Playgroud)