Drupal 8中的内容类型是否与数据库中的表相同?

时间:2018-09-17 10:00:54

标签: database drupal drupal-8

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

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

2 个答案:

答案 0 :(得分:0)

要将数据存储在Drupal 8的自定义表中,您将要定义一个自定义架构并通过一个钩子将其公开。这是该过程的Acquia's documentation。这与创建内容类型不同。

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

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

答案 1 :(得分:0)

正如以赛亚所说,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”有帮助。