Итак, я пытаюсь извлечь элементы из отношения соединения в распознавателе Apollo.
У меня есть таблица User, таблица уведомлений.И таблица отношений с именем:
notification_recipients_user
, определенная отношением ManyToMany для обеих сущностей, но размещенная в уведомлении:
//entity/Notification.ts
@ManyToMany(type => User, recipient => recipient.notifications)
@JoinTable()
recipients: User[];
Я могу без проблем создать отношение с помощью этой мутации:
addNotificationForUser: async (_, { id, data }) => {
const user = await User.findOne({ id });
if (user) {
const notification = await Notification.create({
template: data,
recipients: [user]
}).save()
return notification;
} else {
throw new Error("User does not exists!");
}
}
Однако мне совершенно не удается получить данные для конкретного пользователя.
allNotificationsOfUser: (_, { user }, ___) => {
return Notification.find({
where: { userId: user },
relations: ['recipients'],
})
![enter image description here](https://i.stack.imgur.com/PhAba.png)
Метод поиска одиниз TypeORM нативных методов.
Однако я должен делать что-то не так, потому что он реагирует так, как будто не было никакого фильтра.