如何在Directus中利用现有联结表实现对称多对多关系?
在Directus中复用同一联结表实现对称多对多关系
不用新建联结表,直接在collectionB里关联已有的collectionA_collectionB即可,具体操作步骤如下:
- 打开Directus后台,进入「Collections」找到collectionB,点击「Fields」进入字段管理界面
- 点击「Create Field」,选择「Relation」字段类型
- 在关系配置面板中,选择「Many to Many」类型,然后在「Junction Collection」下拉框里手动选中已存在的
collectionA_collectionB - 匹配关联字段:
- 将「Local Field」设为collectionB的主键(比如
id),对应联结表中的collectionB_id字段 - 将「Foreign Field」设为collectionA的主键(比如
id),对应联结表中的collectionA_id字段
- 将「Local Field」设为collectionB的主键(比如
- 给这个字段设置一个易识别的名称(比如
linked_collectionA),完成配置后保存 - 返回collectionB的条目编辑页面,就能看到这个新字段,直接用来添加或关联collectionA的项
注意:不要直接在collectionB里重新创建多对多关系,否则系统会自动生成新的联结表。复用已有联结表时,确认联结表的两个外键确实分别指向collectionA和collectionB的主键——Directus自动生成的联结表默认就是这个结构,直接选择即可。
内容的提问来源于stack exchange,提问作者moonvader
相关产品推荐
相关产品推荐

