我试图在使用查询构建器查找时限制相关数据,但我错过了这个概念。
这是我获取员工订单的代码:
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/