我将如何使用metawhere 搜索关联并连接表?

发布于 2024-11-15 08:27:15 字数 478 浏览 4 评论 0原文

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

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

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

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

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

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

I have two models: Message and UserMessage. I got this architecture from somewhere else on SO, but am having some challenges.

Each Message has TWO UserMessage: one UserMessage has a user_id of the sender, and the other has a user_id of the recipient. This allows one party to delete or change the status of the message separate from the other.

How can I find a list of all Messages that were sent between sender_id and receiver_id?

If I do a UserMessage.where(:user_id => sender_id) that doesn't show me just the recipient, for example.

Also: one Message may have many UserMessages, so I need to be able to uniquely find or group by the Message. In other words, five UserMessages all belonging to the same Message I would just want the latest dated UserMessage for that Message.

I am thinking if I can generate a list of all Messages where one UserMessage is sender_id and the other is receiver_id, that would work, but how would I do that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我不是你的备胎 2024-11-22 08:27:15

你这是自相矛盾。首先,您说“每个消息有两个用户消息”,然后说“五个用户消息都属于同一个消息”。如果您可以重新表述问题以使其易于理解,那么会更容易为您提供帮助。

You are contradicting yourself. At first, you say "Each Message has TWO UserMessage", and then "five UserMessages all belonging to the same Message". If you could rephrase the question to make this understandable it would be easier to help you.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文