2011-02-12 71 views
0

我有一个包含两个表的消息系统: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。谢谢!

回答

1

我希望我理解正确 - 你想要一个单一的变量,存储这些对象按日期排序。

(@sentmessages + @receivedmessages).sort_by(&:created_at).reverse

+0

@Vise喜 - 为不可正对这一活动的非常抱歉。我用'(@sentmessages + @receivedmessages)`解决的问题是它们是不同的模型。一个是实际的消息,另一个是收到的消息副本。我正在尝试将按照日期组织活动的“对话”进行组合。 – sscirrus 2011-03-16 14:55:48