繁体   English   中英

如何在 prisma 中创建可选列表字段

[英]how to create a optional list field in prisma

我正在使用 nodejs 和 prisma 创建一个基本的 crud api。 我的架构如下:

 generator client { provider = "prisma-client-js" } datasource db { provider = "postgresql" url = env("DATABASE_URL") shadowDatabaseUrl = env("SHADOW_DATABASE_URL") } model Category { id String @unique @default(cuid()) title String description String products Product[] } model Product { id String @unique @default(cuid()) title String description String price Float createdAt DateTime @default(now()) updatedAt DateTime? category Category? @relation(fields: [categoryId], references: [id]) categoryId String? }

我正在尝试将类别 model 中的产品字段设为可选。 但 Prisma 不允许这样做。 但我希望我的用户即使不创建帖子也能创建一个类别,反之亦然。 我怎样才能解决这个问题?

根据 Prisma 文档,列表不能是可选的: https://www.prisma.io/docs/reference/api-reference/prisma-schema-reference#remarks-5

但是, products字段不是可选的并不意味着在创建新Category时它不能为空:

await prisma.category.create({
  data: {
    title: 'books',
    description: 'books',
    products: {},
  }
})

然后您可以稍后创建或连接产品:

await prisma.category.update({
  where: {
    id: "category-id"
  },
  data: {
    products: {
      connect: {
        id: "product-id"
      }
    }
  }
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM