Graphql 如何删除具有关系的项目?
我使用的是prisma2,我不知道如何删除与其他模型相关的项目 这是我的模型Graphql 如何删除具有关系的项目?,graphql,photon,prisma,prisma-graphql,nexus-prisma,Graphql,Photon,Prisma,Prisma Graphql,Nexus Prisma,我使用的是prisma2,我不知道如何删除与其他模型相关的项目 这是我的模型 model User { id String @default(cuid()) @id email String @unique password String name String teams Team[] memberships Membership[] } model Team { id String @default(cu
model User {
id String @default(cuid()) @id
email String @unique
password String
name String
teams Team[]
memberships Membership[]
}
model Team {
id String @default(cuid()) @id
name String
founder User?
memberships Membership[]
}
model Membership {
id String @default(cuid()) @id
class String
owner User
team Team
}
用户团队是1:n关系。
团队成员是1:n关系
我想删除一个团队
我试过这个
t.list.field("deleteTeam", {
type: "Team",
args: {
teamid: idArg()
},
resolve: (_, { teamid }, ctx) => {
return ctx.photon.teams.deleteMany({
where: { id: teamid }
});
}
});
但它不起作用,因为它违反了关系
如何在同时断开所有关系的情况下删除团队?具有从属关系的删除通常需要指定级联删除 基于您的模型,我相信您需要更新graphql模式,以便在关系的
onDelete
上处理CASCADE
我知道在其他类似的系统中,可以指定一个
force:Boolean
标志来解决这个问题。不过,这里是Prisma文档部分,可以解答您的问题:谢谢您的回答!我发现prisma2还不支持级联,尽管逐个删除效果很好。prisma2不支持onDelete。