Prisma客户端从一个表中选择所有行

10

如何使用Prisma从表中选择所有内容?(SELECT * FROM application)

const applications = prisma.application.findMany({
        // Returns all user fields
        include: {
            posts: {
                select: {
                    age: true,
                    about_section: true,
                    user_id: true
                },
            },
        },
    })
    console.log(applications.age)

以下是我的模式图:

model application {
  application_id Int     @id @default(autoincrement())
  age            String? @db.VarChar(255)
  about_section  String? @db.VarChar(255)
  user_id        Int?
  users          users?  @relation(fields: [user_id], references: [user_id], onDelete: Restrict, onUpdate: Restrict, map: "application_ibfk_1")

  @@index([user_id], map: "user_id")
}
1个回答

8

对于行,没有使用wherefindMany()将返回表中的所有行:

获取所有记录
以下findMany查询将返回所有用户记录:

const users = await prisma.user.findMany()

对于列/字段,如果没有指定includeselect,prisma有一个默认选择集
默认情况下,当查询返回记录(而不是计数)时,结果包括默认选择集: - Prisma模式中定义的所有标量字段(包括枚举) - 没有关系
对于SELECT * FROM application(不包括users关系):
const applications = await prisma.application.findMany();

为了进一步在模型中包含用户关系:
const applications = await prisma.application.findMany({
  include: {
    users: true // will include all fields
  }
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接