Prisma:使用 findMany() 包含显式多对多 Prisma 关系的困难

问题描述 投票:0回答:1

我在使用 prisma 获取数据时遇到困难,

Class
Student

之间存在多对多关系

架构.prisma

model Class{
  id          BigInt          @id @db.UnsignedBigInt @default(autoincrement())
  name        String          @db.VarChar(10)
  student     classStudent[]  @relation("ClassToStudent")
}

model Student {
  id          BigInt          @id @db.UnsignedBigInt @default(autoincrement())
  name        String          @db.VarChar(255)
  class       classStudent[]  @relation("StudentToClass")
}

model classStudent {
  id          BigInt        @id @db.UnsignedBigInt @default(autoincrement())
  studentId   BigInt        @db.UnsignedBigInt
  classId     BigInt        @db.UnsignedBigInt
  class       Class         @relation("ClassToStudent", fields: [classId], references: [id])
  student     Student       @relation("StudentToClass", fields: [studentId], references: [id])
}

示例输出:

"student": [
  {
    "id": 1,
    "name": "John Doe",
    "class": [
      {
        "studentId": 1,
        "teacherId": 3,
        "classId": 2,
        "class": {
          "id": 2,
          "name": "Science"
        },
        //"teacher": {...}
      },
      ... //each student has many classes
    ],
  },
  ...
]

我尝试在查询中使用多个包含

const siswa = await prisma.student.findMany({
  include: {
    class: {
      include: {
        class: true
      }
    }
  }
});

prisma 文档中没有太多解释:/

many-to-many prisma
1个回答
0
投票

我认为我遇到了同样的问题:Prisma Findmany 多对多获取所有信息

如果您找到任何解决方案请给我留言 谢谢

© www.soinside.com 2019 - 2024. All rights reserved.