如何在 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 【问题描述】:我有三种内容类型:Artist
、Artwork
、Exhibition
。展览有一个字段'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 中获取相当高级的关系?的主要内容,如果未能解决你的问题,请参考以下文章
Drupal 6 & Views 2 - DISTINCT 字段