[英]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.