apollo - 如何从显式多对多表中返回数据?
问题描述
我有一个创建通知并将该通知连接到用户的突变:
const notification = await prisma.notification.create({
data: {
actor_id: args.actor_id,
movie_id: args.movie_id,
message: args.message,
users: {
create: [
{
watched: false,
user: {
connect: {
id: args.userId,
},
},
},
],
},
},
});
架构:
model Notification {
id Int @id @default(autoincrement())
actor_id Int
link String?
movie_id Int?
message String
icon String?
thumbnail String?
users NotificationsOnUsers[]
}
model User {
id Int @id @default(autoincrement())
email String @unique
name String
user_name String @unique
password String
movies Movie[]
notifications NotificationsOnUsers[]
followedBy User[] @relation("UserFollows", references: [id])
following User[] @relation("UserFollows", references: [id])
}
model NotificationsOnUsers {
user User @relation(fields: [userId], references: [id])
userId Int
notification Notification @relation(fields: [notificationId], references: [id])
notificationId Int
watched Boolean
@@id([userId, notificationId])
}
我正在尝试返回连接到当前用户的通知:
const notifications = await prisma.user.findMany({
where: {id: 1},
select: {
notifications: true,
},
});
console.log(...notifications);
return notifications;
这将返回对多对多表的引用:
{通知:[{用户ID:1,通知ID:7,观看:假}]}
我一直在阅读文档> https://www.prisma.io/docs/concepts/components/prisma-schema/relations/many-to-many-relations#explicit-many-to-many-relations但我可以似乎没有得到正确的查询。
解决方案
推荐阅读
- group-policy - 计算机中的标准用户
- javascript - Html web worker 没有按预期工作
- angular - FormData 未进入 API 控制器的 Post 方法
- php - 带 GPS 路线的数据库
- google-app-maker - 在 Appmaker 中显示数据源总页数的最佳方式
- php - 内联 CSS 不适用于 Mpdf
- ios - tableView 滚动到最新单元格的底部 - scrollToRow() 的问题
- c# - 如何使用多线程c#执行控制台应用程序
- ios - 如何弱引用作为参数传递的函数
- python - 控制 df.at 或 df.loc 的行为