我试图用Prisma Client创建一个新项目,但在传递时遇到了一个错误
args
,甚至只是一个像这样的空数组列表
[]
.
这是我的棱镜模型
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
model Project {
id String @id @default(cuid())
name String
date DateTime @default(now())
createdAt DateTime @default(now())
updatedAt DateTime @default(now())
type String
client String?
images Image[]
}
model Image {
id String @id @default(cuid())
createdAt DateTime @default(now())
updatedAt DateTime @default(now())
title String?
alt String?
description String?
src String
project Project @relation(fields: [projectId], references: [id], onDelete: Cascade)
projectId String
}
这是我打字的类型
export interface Project {
name: string;
date: Date;
type: string;
client: string;
images?: Image[];
}
export interface Image {
title: string;
alt: string;
description: string;
src: string;
projectId?: string;
}
这是我的突变
尝试1
createProject: async (args: Project) => {
const project = await prisma.project.create({
data: {
client: args.client,
date: args.date,
name: args.name,
type: args.type,
images: args.images
}
})
}
尝试2
createProject: async (args: Project) => {
const project = await prisma.project.create({
data: {
client: args.client,
date: args.date,
name: args.name,
type: args.type,
images: []
}
})
}
尝试3
createProject: async (args: Project & { images?: Image[] }) => {
const project = await prisma.project.create({
data: {
client: args.client,
date: args.date,
name: args.name,
type: args.type,
images: args.images
}
})
}
这是来自prisma客户端的错误
Type 'Image[] | undefined' is not assignable to type 'ImageUncheckedCreateNestedManyWithoutProjectInput | ImageCreateNestedManyWithoutProjectInput | undefined'. Type 'Image[]' is not assignable to type 'ImageUncheckedCreateNestedManyWithoutProjectInput | ImageCreateNestedManyWithoutProjectInput | undefined'.ts(2322)
index.d.ts(3077, 5): The expected type comes from property 'images' which is declared here on type '(Without<ProjectCreateInput, ProjectUncheckedCreateInput> & ProjectUncheckedCreateInput) | (Without<...> & ProjectCreateInput)' (property) images: Image[] | undefined
我很好奇如何基于Prisma模型生成TypeScript类型。如果你们有任何最佳实践,我将不胜感激。提前感谢!