【发布时间】:2014-08-20 11:05:50
【问题描述】:
我遇到了一个复杂查询的问题。我有一个节点类型事件和用户列表。事件和用户之间可能存在(也可能不存在)使用关系模块 (https://www.drupal.org/project/relation) 创建的 RSVP 关系。在任何关系中都有关于 RSVP 的信息(出席、邀请、ecc.)。我需要创建一个页面,在其中显示下一个事件以及有关当前登录用户的相关 RSVP 信息。 我不会讨论事件过滤问题,主要问题是不是每个事件用户都有 RSVP 关系,而只是用户对事件感兴趣的地方(为什么很明显)。
我不完整的解决方案是: 从事件列表开始,只过滤我感兴趣的事件, 为获取 RSVP 关系的字段创建关系“节点RSVP 关系”, 从以前的关系中,创建一个新关系“RSVP 关系用户”以获取链接用户 仅过滤当前登录的用户
此解决方案仅在事件当前用户 RSVP 关系存在时才有效!如果它不存在,则事件会在我想显示的地方消失,而无需任何 RSVP 信息。
我对解决方案的最后一个想法是过滤器仅应用于关系而不是事件,或者可以创建两个视图(事件和当前用户的 RSVP)并离开加入它们。 我的旧想法是接受(我不知道如何)没有事件当前用户关系的事件,但我意识到这个解决方案可能接受所有事件!当前用户关系,我不想要这个.
我该怎么办?谢谢!
【问题讨论】:
-
我认为的另一个解决方案是建立与另一个视图的关系。说明:我构建了第二个视图“来自用户 % 的所有 RSVP”,它从上下文过滤器中获取一个 uid 并返回该用户的 RSVP 和 RSVP 事件列表,因此我从原始视图(事件的 nid)和辅助视图(来自 RSVP 的事件的 nid)。这会起作用,但我不知道该怎么做。
标签: drupal filter views relationship