0

我有两个模型:Message 和 UserMessage。我从 SO 上的其他地方获得了这个架构,但遇到了一些挑战。

每条消息都有两个 UserMessage:一个 UserMessage 有一个发送者的 user_id,另一个有一个接收者的 user_id。这允许一方独立于另一方删除或更改消息的状态。

如何找到在 sender_id 和 receiver_id 之间发送的所有消息的列表?

例如,如果我执行的 UserMessage.where(:user_id => sender_id) 不只显示收件人。

另外:一条消息可能有很多用户消息,所以我需要能够唯一地找到消息或按消息分组。换句话说,五个 UserMessage 都属于同一个消息,我只想要那个消息的最新日期 UserMessage。

我在想,如果我可以生成一个包含所有消息的列表,其中一个 UserMessage 是 sender_id,另一个是 receiver_id,那会起作用,但我该怎么做呢?

4

1 回答 1

0

你在自相矛盾。首先,您说“每个消息有两个用户消息”,然后是“五个用户消息都属于同一消息”。如果您可以改写问题以使其易于理解,那么对您的帮助会更容易。

于 2011-07-14T17:58:25.247 回答