如何在 Drupal 6 - Views 2 中获取相当高级的关系?

Posted

技术标签:

【中文标题】如何在 Drupal 6 - Views 2 中获取相当高级的关系?【英文标题】:How to fetch pretty advanced relation in Drupal 6 - Views 2? 【发布时间】:2011-02-09 10:25:24 【问题描述】:

我有三种内容类型:ArtistArtworkExhibition。展览有一个字段'artworks'(无限值)。艺术品有一个字段'artist'(1 个值,必填)。

我似乎找不到与 Views 的关系:我想要一位艺术家曾经参加过的所有展览。这意味着:在艺术家页面上,显示该艺术家曾经参加过的所有展览。

问题(我认为)是一个字段(Exhibition.artworks)有很多值。然而 Artwork.artist 只有 1 个值。

我不知道问题出在哪里 =) 但它不起作用,我已经尝试了一百万种方法。在这一点上,我会接受编写 SQL 查询,但是 drupal 内容数据库非常不透明,我不知道要查询什么以及如何查询。

显然,我对未经破解的 Views 解决方案最满意,但我并没有抱太大希望。有没有人经历过这样的关系?

【问题讨论】:

【参考方案1】:

您可以建立可以帮助您完成此任务的依赖关系。在 Exhibition.artworks 上使用关系 (Artwork),在 (Artwork).Artist 上使用关系 (Artist)

使用视图和内容类型的导出会更容易理解您在做什么。

Drupal 中内容类型的数据库结构如下:

节点为基表,以nid为索引。您的内容类型有自己的表 content_type_XXXXXX,其中包含该表的所有单个条目字段(不在内容类型之间共享)成员。多个条目和共享字段获得自己的表 content_field_XXXXXX。所有表格都与 nid 字段相关,并且多个条目字段使用“delta”来指示条目顺序。

【讨论】:

以上是关于如何在 Drupal 6 - Views 2 中获取相当高级的关系?的主要内容,如果未能解决你的问题,请参考以下文章

如何删除 Views Drupal 6 中的重复标题?

Drupal 6 & Views 2 - DISTINCT 字段

(Drupal 6 Views)如何制作一个显示特定节点列表的视图(按节点ID)?

如何在 Drupal 6 的视图中显示完整节点?

Drupal 6 视图 2:PHP 片段

Drupal 6 视图 2:设置日期参数