验证错误:此行不是有效的字段或属性定义
Error validating: This line is not a valid field or attribute definition
我想知道为什么我的 模型(Like
-模型)不能像我预期的那样工作。
也许有人可以解释一下?
model User {
id Int @id @default(autoincrement())
likes Like[]
}
model Like {
fromUser User @relation(fields: [fromUserId] references: [id])
fromUserId Int
toUser User @relation(fields: [toUserId] references: [id])
toUserId Int
@@id([fromUserId, toUserId])
}
错误显示:Error validating: This line is not a valid field or attribute definition.
指向fromUser User @relation(fields: [fromUserId] references: [id])
和toUser User @relation(fields: [toUserId] references: [id])
。
您需要按照以下方式为您的关系建模:
model User {
id Int @id @default(autoincrement())
likedUsers Like[] @relation("likedUsers")
usersWhoLiked Like[] @relation("usersWhoLiked")
}
model Like {
id Int @id @default(autoincrement())
likedUser User? @relation("likedUsers", fields: [likedUserId], references: [id])
likedUserId Int?
userWhoLiked User? @relation("usersWhoLiked", fields: [userWhoLikedId], references: [id])
userWhoLikedId Int?
}
每当您与模型有超过 1 个关系时,您需要向 disambiguate the relation 提供关系名称。
你还需要存储你喜欢过哪些用户,以及谁喜欢过当前用户。所以你需要两个关系。
我想知道为什么我的 模型(Like
-模型)不能像我预期的那样工作。
也许有人可以解释一下?
model User {
id Int @id @default(autoincrement())
likes Like[]
}
model Like {
fromUser User @relation(fields: [fromUserId] references: [id])
fromUserId Int
toUser User @relation(fields: [toUserId] references: [id])
toUserId Int
@@id([fromUserId, toUserId])
}
错误显示:Error validating: This line is not a valid field or attribute definition.
指向fromUser User @relation(fields: [fromUserId] references: [id])
和toUser User @relation(fields: [toUserId] references: [id])
。
您需要按照以下方式为您的关系建模:
model User {
id Int @id @default(autoincrement())
likedUsers Like[] @relation("likedUsers")
usersWhoLiked Like[] @relation("usersWhoLiked")
}
model Like {
id Int @id @default(autoincrement())
likedUser User? @relation("likedUsers", fields: [likedUserId], references: [id])
likedUserId Int?
userWhoLiked User? @relation("usersWhoLiked", fields: [userWhoLikedId], references: [id])
userWhoLikedId Int?
}
每当您与模型有超过 1 个关系时,您需要向 disambiguate the relation 提供关系名称。
你还需要存储你喜欢过哪些用户,以及谁喜欢过当前用户。所以你需要两个关系。