如何解决验证错误:此行不是有效的字段或属性定义
我想知道为什么我的模型(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 提供一个关系名称。
此外,您还需要存储您喜欢的用户以及喜欢当前用户的用户。所以你需要两个关系。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。