Nestjs 如何在nest.js TypeORM中写入日期小于或等于某个值的where条件?
我正在使用nest.js和TypeORM。我需要进行一个查询,返回表中的所有行,其中facility_id等于某个值,date小于或等于(),因为您没有提供有关Nestjs 如何在nest.js TypeORM中写入日期小于或等于某个值的where条件?,nestjs,typeorm,Nestjs,Typeorm,我正在使用nest.js和TypeORM。我需要进行一个查询,返回表中的所有行,其中facility_id等于某个值,date小于或等于(),因为您没有提供有关预订和设施实体的正确信息,我猜测两种可能的情况(通常这两种情况都是真的)。您可以从中选择代码解决方案 1.Reservation实体有一个facility\u id列 const facilityId=“yourficilityid”; 把这个还给我({ 其中:{ 术语:LessthanRequal(新日期(2021,0,1)), 设施i
预订
和设施
实体的正确信息,我猜测两种可能的情况(通常这两种情况都是真的)。您可以从中选择代码解决方案
1.Reservation
实体有一个facility\u id
列
const facilityId=“yourficilityid”;
把这个还给我({
其中:{
术语:LessthanRequal(新日期(2021,0,1)),
设施id:设施id
},
关系:[“用户”、“设施”],
take:paginationParams.limit,
跳过:分页参数偏移量,
订单:{
[paginationParams.orderby]:paginationParams.order.toUpperCase()
}
});
2.预订
实体拥有设施
参考
Reservation
实体与Facility
实体之间存在OneToOne
或ManyToOne
关系,该关系被命名为Facility
,Facility
实体具有id
,等同于您在问题中解释的Facility\u id
const facilityId=“yourficilityid”;
把这个还给我({
其中:{
术语:LessthanRequal(新日期(2021,0,1)),
设施:{id:facilityId}
},
关系:[“用户”、“设施”],
take:paginationParams.limit,
跳过:分页参数偏移量,
订单:{
[paginationParams.orderby]:paginationParams.order.toUpperCase()
}
});
另外,return await
实际上是多余的,您可以随时将其替换为justreturn
希望这有帮助。干杯!
import { DeleteResult, EntityRepository, Repository, UpdateResult } from "typeorm";
import { Reservations} from "src/Entities/reservations.entity";
import { Facility} from "src/Entities/facility.entity";
import { PaginationParams } from "src/pagination.model";
import { LessThanOrEqual } from "typeorm";
@EntityRepository(Reservation)
export class ReservationRepository extends Repository<Reservation> {
async findByFacility(ustanovaId, paginationParams, dateParams): Promise<Reservation[]> {
return await this.find({where: { termin: LessThanOrEqual(new Date(2021, 0, 1))},
relations: ["users", "facility"],
take: paginationParams.limit,
skip: paginationParams.offset,
order: {
[paginationParams.orderby]: paginationParams.order.toUpperCase()
}});
}
}