【问题标题】:Are content types in Drupal 8 the same as tables in a database?Drupal 8 中的内容类型与数据库中的表相同吗?
【发布时间】:2018-09-17 10:00:54
【问题描述】:

如果我正在创建一个数据库并且我有两个具有多对多关系的表,我将创建第三个表来表示这种关系。

但是我应该如何在 Drupal 8 中实现上述数据模型,我应该创建三种内容类型吗?所以我的问题是,Drupal 8 中的内容类型是否与数据库中的表相同,或者它们是否应该以不同的方式使用?

【问题讨论】:

    标签: database drupal drupal-8


    【解决方案1】:

    要在 Drupal 8 中的自定义表中存储数据,您需要定义自定义模式并通过挂钩公开它。这是该过程的Acquia's documentation。这与创建内容类型不同。

    内容类型数据存储在由其他内容类型(例如nodenode_revision)共享的多个表中,操作这些表并不容易。

    添加内容类型的最快方法是使用 Drupal 8 用户指南第 6 章中Adding a Content Type 中推荐的方法。这允许使用所有标准 GUI 方法来操作数据结构。

    【讨论】:

      【解决方案2】:

      正如以赛亚所说,Drupal 中的内容类型在技术上与数据库中的表不同,因为它们使用许多表。但是!

      在你的情况下,如果你有类似表 A 的东西:

      - name
      - email
      - phone
      - id
      

      还有第二个表,表 B:

      - company
      - something else
      - etc…
      - id
      

      并且正在寻找第三个可能是这样的:

      - id
      - table A id
      - table B id
      

      那么答案是肯定的

      在这种情况下,您将拥有包含姓名、电子邮件、电话字段的内容类型 A,然后是指向包含公司字段的内容类型 B 的实体引用字段。

      您可以使用实体引用字段在任何方向进行引用。

      您可能还会发现“Is there a way to input the data of multiple content types”很有帮助。

      【讨论】:

        猜你喜欢
        • 2012-07-04
        • 2022-01-23
        • 2010-11-06
        • 1970-01-01
        • 2017-11-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多