我正在创建一个消息线程模式,用户加入消息线程,并获取此特定线程的消息 .
前端:每条消息都应该显示一个小的头像和名称这意味着我需要获取为每条消息发送消息的用户(这是当前的实现 - 运行数据库查询以获取每个消息的用户)
解决方案是在线程级别抓取用户 . 这意味着我必须将 message.user_id
与 thread.thread_users['user_id']
匹配 . 如果我在前端做到这一点会不会很奇怪?我觉得我应该在后端附加该特定消息的用户?
有没有办法将我的 thread.thread_users
数组传递给我的 messages
连接?
这是我当前的查询:
thread(input...) {
id
// THIS HOLDS THE USERS WHO ARE IN THIS THREAD
threadUsers {
name
firstName
avatar {
original
thumbnail
medium
}
}
lastReadMessageId
messages {
edges {
cursor
node {
from {
firstName
lastName
}
messageContent
}
}
}
}
我想问题是:
是否可以从Message类型中获取 thread_users
数组?所以我可以将 thread_user
与 message.user_id
匹配
或者我是否应该将 thread_users
与前端的 message.from_id
相匹配?
数据库看起来像这样:
线:
-
id
-
created_at
-
owner_id
消息:
-
from_id(发送邮件的用户)
-
messageContent(消息内容)
thread_users :(只是记录用户在哪些线程中)
-
thread_id
-
user_id
1 回答
我最终做的是让前端处理这个 . 我可能已经将Graphaloader与Graphql一起使用,但没有必要 .