Prisma 1-1 关系无法从双方访问数据
Prisma 1-1 relationship can't access data from both sides
所以我在我的 Nest
项目中设置了以下 Prisma 架构:
model users {
id Int @id @default(autoincrement())
uuid String @default(uuid())
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
firstName String
authentication authentications @relation("Authentication", fields: [authenticationId], references: [id], onDelete: Cascade)
authenticationId Int
}
model authentications {
id Int @id @default(autoincrement())
uuid String @default(uuid())
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
role Role @default(USER)
emailAddress String @unique
password String
isEmailConfirmed Boolean @default(false)
currentHashedRefreshToken String?
user users? @relation("Authentication")
}
enum Role {
SUSPENSION @map("SUSPENSION_ROLE")
USER @map("USER_ROLE")
ADMIN @map("ADMIN_ROLE")
}
现在我想从数据库中获取 users
。为此我呼吁
await this._prismaService.users.findMany({});
... returns 未定义。
但是当我用 authentications
执行相同的语句时,它起作用了。
像这样:
await this._prismaService.authentications.findMany({});
有人可以向我解释为什么会这样吗?
我只想检查用户是否存在给定的 UUID。
感谢您的帮助!
我已经通过仔细检查我所有的 Prisma 设置解决了这个问题。在 Danila 的评论之后,我注意到我在我的中间件中做错了什么导致了这个问题。
所以我在我的 Nest
项目中设置了以下 Prisma 架构:
model users {
id Int @id @default(autoincrement())
uuid String @default(uuid())
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
firstName String
authentication authentications @relation("Authentication", fields: [authenticationId], references: [id], onDelete: Cascade)
authenticationId Int
}
model authentications {
id Int @id @default(autoincrement())
uuid String @default(uuid())
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
role Role @default(USER)
emailAddress String @unique
password String
isEmailConfirmed Boolean @default(false)
currentHashedRefreshToken String?
user users? @relation("Authentication")
}
enum Role {
SUSPENSION @map("SUSPENSION_ROLE")
USER @map("USER_ROLE")
ADMIN @map("ADMIN_ROLE")
}
现在我想从数据库中获取 users
。为此我呼吁
await this._prismaService.users.findMany({});
... returns 未定义。
但是当我用 authentications
执行相同的语句时,它起作用了。
像这样:
await this._prismaService.authentications.findMany({});
有人可以向我解释为什么会这样吗? 我只想检查用户是否存在给定的 UUID。 感谢您的帮助!
我已经通过仔细检查我所有的 Prisma 设置解决了这个问题。在 Danila 的评论之后,我注意到我在我的中间件中做错了什么导致了这个问题。