如果我正在创建一个数据库,并且我有两个具有多对多关系的表,那么我将创建第三个表来表示这种关系。
但是我应该如何在Drupal 8中实现上述数据模型,我应该创建三种内容类型吗?所以我的问题是,Drupal 8中的内容类型是否与数据库中的表相同,还是应该以其他方式使用它们?
答案 0 :(得分:0)
要将数据存储在Drupal 8的自定义表中,您将要定义一个自定义架构并通过一个钩子将其公开。这是该过程的Acquia's documentation。这与创建内容类型不同。
内容类型数据存储在由其他内容类型(例如node
和node_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”有帮助。