【问题标题】:prisma nested writes throw unknown args棱镜嵌套写入抛出未知参数
【发布时间】:2022-10-21 12:07:58
【问题描述】:

我有这样的缩短模式:

model PATIENT {
  patient_id                 Int                  @id @default(autoincrement())
  patient_name               String
  patient_identity_card      BigInt               @unique
  password                   String
  wallet_id                  Int?
  birthday                   DateTime
  address                    String
  status_id                  Int
  gender                     String               @default("Nam")
  phone                      String               @default("0935438280")
  current_treatment_place_id Int
  avatar_url                 String?
  treatment_place            TREATMENT_PLACE      @relation(fields: [current_treatment_place_id], references: [place_id])
  status                     PATIENT_STATUS       @relation(fields: [status_id], references: [status_id])
  card                       CART?
  patient_passive_contact    PATIENT_CONTACT[]    @relation("ActiveContact_referredToPatient")
  patient_active_contact     PATIENT_CONTACT[]    @relation("PassiveContact_referredToPatient")
  BE_MANAGED_HISTORY         BE_MANAGED_HISTORY[]
}
model BE_MANAGED_HISTORY {
  place_id       Int
  patient_id     Int
  time           DateTime
  status_id      Int
  status         PATIENT_STATUS              @relation(fields: [status_id], references: [status_id])
  patient        PATIENT                     @relation(fields: [patient_id], references: [patient_id])
  place          TREATMENT_PLACE             @relation(fields: [place_id], references: [place_id])
  change_type_id Int
  change_type    CHANGE_MANAGED_HISTORY_TYPE @relation(fields: [change_type_id], references: [type_id])

  @@id([place_id, patient_id, time])
}

我想创建一个 BE_MANAGED_HISTORY 记录,并通过它创建一个包含所需信息的患者记录。嵌套如下:

const res = await prisma.BE_MANAGED_HISTORY.create({
                data: {
                    place_id: treatmentPlaceId,
                    time: new Date(startDate),
                    status_id: patientStatus,
                    change_type_id: 1,
                    patient: {
                        create: {
                            patient_name: patientName,
                            gender,
                            birthday: new Date(birthday),
                            patient_identity_card: identity,
                            password: hashedPassword,
                            phone,
                            address,
                            status_id: patientStatus,
                            current_treatment_place_id: treatmentPlaceId,
                            avatar_url: avatarUrl,
                        }
                    }
                },
            })
But prisma throws an error:

未知 arg patient 在 data.patient 中,用于 BE_MANAGED_HISTORYUncheckedCreateInput 类型。你的意思是patient_id? data.patient_id 的参数 patient_id 缺失。

那么我可以创建一个 beManagedHistory 并在嵌套写入中创建一个患者吗?

【问题讨论】:

  • 你设法解决这个问题吗?

标签: postgresql express transactions crud prisma


【解决方案1】:

我们必须首先创建一个 PATIENT 记录,并嵌套在其中创建一个 BE_MANAGED_HISTORY 记录。

【讨论】:

    猜你喜欢
    • 2022-12-10
    • 1970-01-01
    • 2012-10-28
    • 1970-01-01
    • 2017-07-13
    • 2017-08-13
    • 1970-01-01
    • 1970-01-01
    • 2016-07-22
    相关资源
    最近更新 更多