-1

我创建了一个主题集合。我想为同一个集合创建多对多关系。列名是related_topics

我遵循了文档,因此我为该列创建了一个多对多关系和一个连接表,它将topic.idtopic_related.topic_id1以及从另一边topic.idtopic_related.topic_id2相关联。

对于主题 (A),我可以选择主题 (B)。

但是,如果我打开 (B),我在那里看不到任何相关主题。

我希望看到(A)。

难道我做错了什么 ?

谢谢你的时间 !

编辑1:

相关主题 在此处输入图像描述

在主题 AI 的页面上,将选择 B 作为相关文章: 在此处输入图像描述

我也希望在主题 B 的页面上找到这种关系,但我发现了这个: 在此处输入图像描述

4

1 回答 1

2

据我所知,描述中似乎存在差异,但是,这是你想要做的:

topics.related_topics => junction collection => topics.id

如果是这样,您已经在字段related_topics上创建了从父级到一个或多个子级的单向关系,因为您正在询问哪些主题与该项目相关。

如果您想查看子项与哪些父项相关,请使用相同的联结集合创建另一个M2M 接口,但翻转以前的 M2M 接口设置中的字段,现在您可以自动以另一种方式查看它。

然后你应该这样做:

topics.id => junction collection => topics.related_topics

M2M 的逻辑是单向的:当它扩展 O2M 时,是许多孩子的父母:https ://docs.directus.io/guides/interfaces.html#core-interfaces

但是,如果您想通过以下方式使其双向扩展M2M 接口,建议您对 Vue.js 有中级理解: https ://docs.directus.io/extensions/interfaces.html

您需要在以下位置更新 input.vue:https ://github.com/directus/app/tree/master/src/interfaces/many-to-many

于 2020-11-12T23:33:44.997 回答