Prisma 多对多关系查询
Prisma many to many relations Query
我有一个 User
模型沿着 UserRelationship
模型
我已经与 UserRelationship
模型建立了 trainer/client 关系。
model User {
id Int @id @default(autoincrement())
trainerRelationship UserRelationship[] @relation("trainer")
traineeRelationship UserRelationship[] @relation("trainee")
}
model UserRelationship {
id Int @id @default(autoincrement())
trainerId Int?
traineeId Int?
trainerUser User? @relation("trainer", fields: [trainerId], references: [id])
traineeUser User? @relation("trainee", fields: [traineeId], references: [id])
}
我可以查询用户也可以查询他们的关系
例如:
const trainer = await client.user
.findUnique({ where: { id }, include: { trainerRelationship: true } })
我得到的输出如下:
{
id: 1,
username: hellouser
trainerRelationship: [
{
id: 4,
trainerId: 1,
traineeId: 34
}
]
}
现在我想获取 traineeId/trainerId
用户详细信息的详细信息,我的查询应该是什么?
好的,所以我已经通过以下查询解决了它,以防有人被卡住:
.findUnique({ where: { id } }).trainerRelationship({
include: {
trainerUser: true,
},
})
我有一个 User
模型沿着 UserRelationship
模型
我已经与 UserRelationship
模型建立了 trainer/client 关系。
model User {
id Int @id @default(autoincrement())
trainerRelationship UserRelationship[] @relation("trainer")
traineeRelationship UserRelationship[] @relation("trainee")
}
model UserRelationship {
id Int @id @default(autoincrement())
trainerId Int?
traineeId Int?
trainerUser User? @relation("trainer", fields: [trainerId], references: [id])
traineeUser User? @relation("trainee", fields: [traineeId], references: [id])
}
我可以查询用户也可以查询他们的关系
例如:
const trainer = await client.user
.findUnique({ where: { id }, include: { trainerRelationship: true } })
我得到的输出如下:
{
id: 1,
username: hellouser
trainerRelationship: [
{
id: 4,
trainerId: 1,
traineeId: 34
}
]
}
现在我想获取 traineeId/trainerId
用户详细信息的详细信息,我的查询应该是什么?
好的,所以我已经通过以下查询解决了它,以防有人被卡住:
.findUnique({ where: { id } }).trainerRelationship({
include: {
trainerUser: true,
},
})