prisma查询postgresql到nestJs

Posted

技术标签:

【中文标题】prisma查询postgresql到nestJs【英文标题】:prisma query postgresql into nestJs 【发布时间】:2021-09-13 08:47:42 【问题描述】:

我遇到以下问题: 架构:

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?谢谢

【问题讨论】:

【参考方案1】:

目前,原始查询是执行此操作的唯一方法。我们有一个相同的here 请求,所以如果您可以在此添加一个 ? 会很棒,以便我们查看优先级。

【讨论】:

以上是关于prisma查询postgresql到nestJs的主要内容,如果未能解决你的问题,请参考以下文章

在没有实际访问数据库的情况下测试使用 Prisma 的 NestJS 服务

NestJS-Prisma,如何编写与 prisma 一对多类型匹配的 DTO

Prisma 2 不适用于 NestJS 规范测试

NestJS 中与 GraphQL 的 Prisma 自关系

NestJS-Prisma 如何使用关系字段创建记录?

Docker 中的 NestJS 无法在另一个 Docker 容器中的 Postgres 上执行 Prisma Migrate