首页 > 解决方案 > prisma查询postgresql到nestJs

问题描述

我有以下问题:架构:

model company {
    id           Int      @id @default(autoincrement())
    name         String?
    services company_service[]
   ...
}

model company_service {
    companyId Int @map("company_id")
    serviceId Int @map("service_id")

    company company? @relation(fields: [companyId], references: [id])
    service service? @relation(fields: [serviceId], references: [id])
    @@id([companyId, serviceId])
}

model service {
    id    Int     @id @default(autoincrement())
    name  String?
    
    companies company_service[]
    jobs      job[]
}


model job {
    id              Int       @id @default(autoincrement())
    
    customerId      Int?      @map("customer_id")
    serviceId       Int?      @map("service_id")
  
    addressId       Int?      @map("address_id")
   
    status          Int?      @default(1) // 1: Available, 2: In Progress, 3:Cancel ,4: Completed,
    

    customer customer?     @relation(fields: [customerId], references: [id])
   
    service  service?      @relation(fields: [serviceId], references: [id])
  
}.

我需要执行查询:

SELECT company_id, count(j.status) as numberOfWorkComplete
FROM company_service sv, job j
WHERE sv.service_id = j.service_id and j.status = 4 
GROUP BY company_id 

我有上述查询的结果,但有什么方法我仍然可以得到该结果而无需编写 sql?谢谢

标签: nestjsprisma

解决方案


目前,原始查询是执行此操作的唯一方法。我们在这里也有同样的要求,所以如果您能在其中添加一个这样我们就可以查看优先级,那就太好了。


推荐阅读