Nestjs 如何在nest.js TypeORM中写入日期小于或等于某个值的where条件?

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

我正在使用nest.js和TypeORM。我需要进行一个查询,返回表中的所有行,其中facility_id等于某个值,date小于或等于(),因为您没有提供有关
预订
设施
实体的正确信息,我猜测两种可能的情况(通常这两种情况都是真的)。您可以从中选择代码解决方案

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
实际上是多余的,您可以随时将其替换为just
return

希望这有帮助。干杯!
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()
             }});
    }


}