【发布时间】:2017-11-26 15:18:56
【问题描述】:
我正在创建一个消息线程模式,用户可以在其中加入消息线程,并获取该特定线程的消息。
前端:每条消息都应该显示一个小头像和名字 这意味着我需要为每条消息获取发送消息的用户(这是当前的实现 - 运行 db 查询以获取每条消息的用户)
解决方案是在线程级别获取用户。这意味着我必须将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 匹配?
数据库如下所示:
线程:
- 身份证
- created_at
- owner_id
消息:
- from_id(发送消息的用户)
- messageContent(消息内容)
thread_users:(只是用来记录哪些用户在哪些线程中)
- thread_id
- user_id
【问题讨论】: