我有一个带有两个表的消息系统:Message和MessageCopy,每次发送一条消息时,它会为每个收件人生成一个message_copy(包括读取,保存,删除等信息)。
我想展示一个'对话'为我的用户发送和接收的消息,我想将created_at
订购的已发送和已接收消息拼接在一起。
以下是我目前分开的两个关系。
@sentmessages = Message.where("author_id = ? AND project_id = ?", current_user.id, @project.id).order("created_at DESC")
@receivedmessages = MessageCopy.where("recipient_id = ? AND project_id = ?", current_user.id, @project.id).order("created_at DESC")
我希望尽可能使用Rails将这些组合成一个关系,而不是MySQL。谢谢!
答案 0 :(得分:1)
我希望我理解正确 - 你想要一个存储按日期排序的这些对象的变量。
(@sentmessages + @receivedmessages).sort_by(&:created_at).reverse