【问题标题】:Prisma missing argumentsPrisma 缺少参数
【发布时间】:2023-02-09 17:23:09
【问题描述】:

我的 schema.prisma 文件中有这两个型号:

model User {
  id              String @id @default(uuid()) @db.Uuid
  firstName       String @map("first_name") @db.VarChar(40)
  lastName        String @map("last_name") @db.VarChar(40)
  email           String @unique @db.Citext
  phone           String @db.VarChar(60)
  dialCode        String @map("dial_code") @db.VarChar(5)
  password        String @db.VarChar(500)
  twoFactorSecret String @db.VarChar(300)
  roleId          String @map("role_id") @db.Uuid

  role              Role                   @relation(fields: [roleId], references: [id])
  customPermissions UserCustomPermission[]

  updatedAt DateTime @default(now()) @updatedAt @map("updated_at") @db.Timestamptz(6)
  createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6)

  @@unique([dialCode, phone], map: "phone_number_unique")
  @@map("user")
  UserAction UserAction[]
}

model UserAction {
  id           String @id @default(uuid()) @db.Uuid
  userId       String @map("user_id") @db.Uuid
  method       String @db.VarChar(120)
  url          String @db.VarChar(120)
  userAgent    String @db.VarChar(120)
  requestBody  Json?
  responseBody Json?

  user User @relation(fields: [userId], references: [id])

  updatedAt DateTime @default(now()) @updatedAt @map("updated_at") @db.Timestamptz(6)
  createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6)
}

它应该是一对多连接,但是当触发创建记录的函数时,我在终端中收到此警告:

async createRecord({userId, method, url, userAgent, requestBody, responseBody}) {
    return this.prisma.userAction.create({
      data: {userId, method, url, userAgent, requestBody, responseBody}
    })
  }

这个警告:

+   user: {
+     create?: UserCreateWithoutUserActionInput | UserUncheckedCreateWithoutUserActionInput,
+     connectOrCreate?: UserCreateOrConnectWithoutUserActionInput,
+     connect?: UserWhereUniqueInput
+   },
?   id?: String,
?   updatedAt?: DateTime,
?   createdAt?: DateTime
  }
}

Argument user for data.user is missing.

Note: Lines with + are required, lines with ? are optional.

实际上,一切似乎都很好,但我想知道如何解决这个问题。我猜,2 个表之间的连接创建不正确,但我以前从未使用过prisma,所以我真的不知道错误在哪里。

那么,我该如何解决这个问题?提前致谢!

【问题讨论】:

    标签: javascript nestjs prisma


    【解决方案1】:

    我遇到此错误是因为我将 undefined 值传递给了我的一个模型的外键字段。

    在您的情况下,应检查是否使用有效的userId 调用createRecord

    【讨论】:

      猜你喜欢
      • 2018-09-23
      • 1970-01-01
      • 2022-01-16
      • 2012-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多