代码之家  ›  专栏  ›  技术社区  ›  tmm360

Drupal视图复杂查询:仅过滤关系

  •  0
  • tmm360  · 技术社区  · 11 年前

    我有一个复杂的查询问题。我有一个节点类型Event和用户列表。事件和用户之间可能存在(也可能不存在)使用关系模块创建的RSVP关系( https://www.drupal.org/project/relation ). 在任何关系中都有关于RSVP的信息(存在、邀请、ecc.)。我需要制作一个页面,在其中显示下一个事件以及当前登录用户的相关RSVP信息。 我不会讨论事件过滤问题,主要问题是不是每个事件<->用户具有RSVP关系,但仅限于用户对事件感兴趣的地方(原因显而易见)。

    我不完整的解决方案是: 从事件列表开始,只过滤我感兴趣的事件, 为获取RSVP关系的字段创建关系“node<->RSVP关系”, 从以前的关系中,创建一个新关系“RSVP关系<->用户”以获取链接的用户 仅筛选当前登录的用户

    此解决方案仅在事件<->当前用户RSVP关系存在!如果它不存在,事件消失在我想显示它的地方,没有任何RSVP信息。

    我对解决方案的最后一个想法是只应用于关系而不应用于事件的过滤器,或者可以创建两个视图(事件和当前用户的RSVP)并左键加入它们。 我的旧想法是接受(我不知道如何)没有事件的事件<->当前用户关系,但我意识到此解决方案可以接受所有事件<->!当前的用户关系,我不想这样。

    我该怎么做?非常感谢。

    2 回复  |  直到 11 年前
        1
  •  0
  •   Lokisho    11 年前

    您应该开始检查是否根据需要设置了关系。不同之处在于内部联接而不是左侧联接。检查查询以查看您获得的加入

        2
  •  0
  •   tmm360    11 年前

    最后,我用Drupal的模块Views Field View解决了问题,其中包含了一个View,该View在列出事件的其他View中选择RSVP信息