【问题标题】:If I have two content types with a relationship between them in Drupal 8, why would I want to put a reference field in both content types?如果我在 Drupal 8 中有两种内容类型,它们之间存在关系,我为什么要在两种内容类型中都放置一个引用字段?
【发布时间】:2018-09-17 22:37:59
【问题描述】:

如果我在 Drupal 8 中有两种内容类型之间存在关系,为了表示这种关系,我可以在这两种内容类型之一中放置另一个内容类型的引用字段。

但在这个video tutorial 中,它显示了一个示例,其中两种内容类型都包含相互的引用字段。

在什么情况下,我希望在两种内容类型中都放置一个引用字段?

【问题讨论】:

  • 我想不出你为什么会这样做。我从事 drupal 开发已有 10 多年了,从来没有这样做过。可以在 youtube 视频上提问。

标签: drupal drupal-8


【解决方案1】:

如果您是视频中示例网站的用户,我可以想到这两个用例:

  • 我正在查看活动详情页面,然后我想知道谁在赞助该活动。

  • 我正在查看用户组详细信息页面,然后我想知道该组正在赞助哪些活动。

那么你将不得不讨论实现。

在视频中,他们选择了两个参考字段,我将其视为一种快捷方式,以便您准备好事件详细信息页面用户组详细信息页面。但是你有一个新问题,你必须保持两个字段同步。在数据库设计中,拥有这种类型的冗余不会被认为是一种好的做法。

或者,如果您不想处理字段同步,则只需要一个引用字段。假设 Event 将具有引用字段,现在我们必须想出一种方法来查询 events 用户组详细信息页面的组Drupal View 是最常用的方法。

我认为视频中的讲师不想在培训的这一点上介绍观点,因为这是一个广泛的话题,那么他可能会在稍后回过头来重新审视实施课程。

【讨论】:

    【解决方案2】:

    这里有一个简单的解释来理解这一点:

    当您需要两个方向的两种内容类型之间的关系而不使用视图时。 假设我们有两种内容类型 A 和 B, 因此,如果您需要在 B 中引用来自 A 的字段,并且还需要在 A 中引用来自 B 的任何字段,那么我们需要在两种内容类型中定义引用字段。

    如果您需要单向关系,那么您将仅在一种内容类型中定义引用字段,但对于双向(也可以称为反向关系)关系,您将需要在两种内容类型中定义引用字段.

    我希望这个简单的解释能帮助你理解这个概念。

    【讨论】:

      猜你喜欢
      • 2013-01-07
      • 1970-01-01
      • 1970-01-01
      • 2013-02-08
      • 1970-01-01
      • 1970-01-01
      • 2020-04-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多