Prisma 客户端创建 "child" object?
Prisma client create a "child" object?
我正在尝试寻找如何在 prisma 客户端中创建“child”object 的示例。
假设这是我的架构(假示例):
model User {
id: string,
posts: Post[]
}
model Post {
userId: int,
user: User
}
所以在这个例子中,我将“child”称为用户的Post。
现在,假设我已经“拥有”用户 object。那么如何为该用户创建 Post?
let user = await prismaClient.user.upsert({
where: {id: "someId"},
update: {},
create: {id: "someId"}
}
user.createPost (???) // <--- What do I write here?
考虑这个 prisma 模式。
datasource db {
url = env("DATABASE_URL")
provider = "postgresql"
}
generator client {
provider = "prisma-client-js"
}
model User {
id Int @id @default(autoincrement())
createdAt DateTime @default(now())
email String @unique
name String?
role Role @default(USER)
posts Post[]
}
model Post {
id Int @id @default(autoincrement())
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
published Boolean @default(false)
title String @db.VarChar(255)
author User? @relation(fields: [authorId], references: [id])
authorId Int?
}
这是创建帖子的方式,同时将其链接到通过 upsert 创建的用户。
let user = await prismaClient.user.upsert({
where: {id: "someId"},
update: {},
create: {id: "someId"}
}
await prisma.postA.create({
data:{
title: 'Post for prisma',
authorId: user.id
}
})
}
您可以从这里了解嵌套写入reference。
我正在尝试寻找如何在 prisma 客户端中创建“child”object 的示例。
假设这是我的架构(假示例):
model User {
id: string,
posts: Post[]
}
model Post {
userId: int,
user: User
}
所以在这个例子中,我将“child”称为用户的Post。
现在,假设我已经“拥有”用户 object。那么如何为该用户创建 Post?
let user = await prismaClient.user.upsert({
where: {id: "someId"},
update: {},
create: {id: "someId"}
}
user.createPost (???) // <--- What do I write here?
考虑这个 prisma 模式。
datasource db {
url = env("DATABASE_URL")
provider = "postgresql"
}
generator client {
provider = "prisma-client-js"
}
model User {
id Int @id @default(autoincrement())
createdAt DateTime @default(now())
email String @unique
name String?
role Role @default(USER)
posts Post[]
}
model Post {
id Int @id @default(autoincrement())
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
published Boolean @default(false)
title String @db.VarChar(255)
author User? @relation(fields: [authorId], references: [id])
authorId Int?
}
这是创建帖子的方式,同时将其链接到通过 upsert 创建的用户。
let user = await prismaClient.user.upsert({
where: {id: "someId"},
update: {},
create: {id: "someId"}
}
await prisma.postA.create({
data:{
title: 'Post for prisma',
authorId: user.id
}
})
}
您可以从这里了解嵌套写入reference。