我为我的网站建了一个基本的新闻源。我使用了一个名为“活动”的表,它与许多其他对象(即评论,事件,状态帖等)具有多态性。
在活动对象中,我包含几个字段:
我能够在网站主页上成功查询并显示完整的Feed。
我想在每个用户页面上显示一个Feed,但这并不容易。我不能简单查询User ID = x的所有Activity项。原因是某些动作可能与用户有关,即使它们不是由用户发起的。例如,如果有人在您的页面上发表评论,则该活动的用户ID将是其他人,而不是您的。但是我仍然想在你的页面上显示这个动作。
换句话说,我需要以某种方式运行一个查询:如果它是由UserX发起的,则检索此活动项,或者它是否与UserX的相关对象进行多态链接。
我一直在尝试所有类型的东西,但无济于事。谷歌没有太多关于这样的事情。也许我以完全错误的方式解决了这个问题?我是否应该在Activity对象中包含所有相关的用户ID,即使我正在复制数据?或者我可以运行哪种查询,能够处理多态相关的所有不同模型?