join - 在Directus中合并集合
我已经建立了一个有3个集合的Directus CMS项目,如下所示。
- 演员
- 电影
- 电视节目
我想把电影和电视节目与演员关联在一个多选择的有序列表中。我试着看了一下一对多的关系和其他一些关系,但似乎不知道如何建立这种关系。理想情况下,我希望它看起来大致是这样的。
- 编辑 "演员 "记录 John Smith
- 包括所有电视节目和电影的多选数组(或可能是其他界面)。
- 所有的电视节目和电影都是通过 "标题 "字段的多选来显示的,这两个系列都有。
- 用户可以勾选单个电视节目或电影的方框,并根据自己的意愿在多选中进行排序。
我需要一个中间路口收集吗?我在这里错过了一些明显的东西吗?
从最初的印象来看,Directus看起来是一个很棒的CMS!我已经建立了一个Directus CMS项目。
【回答】:
你是在正确的轨道上,但你正在寻找的关系类型是 "多对多"(或M2M)。这是因为一部电影可以有许多演员,而演员可以在许多电影中。
您可以在这里查看 Directus 文档中关于这种关系设置的内容。
https:/docs.directus.ioguidesrelationships.html#many-to-many。
你将添加两个接线表,类似于 actor_movies
和 actor_tv_shows
,每一个都有一个这样的模式。
id
- 关系的主键actor_id
- 持有演员ID的外键movie_id
- 持有电影ID的外键
因此,这些表格中的每条记录都将一个演员与电影或电视剧联系起来。