数据|如何实现「多对多对象关系」|飞书低代码平台 - 飞书官网

数据|如何实现「多对多对象关系」|飞书低代码平台

飞书

使用场景​
需要管理多对多且不重复的关联关系,比如:​
  • 一个环保材料可以被加入到多个装修项目中(但不能重复加入),一个装修项目可以包含多个环保材料​
  • 一个面试官可以收藏面试题库里的多道题(但不能重复收藏),一道题可以被多个面试官收藏​
  • 一个歌曲(专辑)可以被被多个歌单收藏,一个歌单中也可以收藏多个歌曲​
效果演示​
  • 环保材料管理系统​
​
250px|700px|reset
image.png
​
​
  • 歌单专辑收藏管理​
​
250px|700px|reset
​
​
搭建步骤​
1.对象&字段设计​
​
250px|700px|reset
​
​
  • 专辑​
被加入的歌单:多值关联「歌单」​
​
250px|700px|reset
​
​
  • 歌单​
收藏的专辑:多值关联「专辑」​
​
250px|700px|reset
​
​
2.流程搭建​
(1)触发方式​
选择「填写表单」触发,查看或编辑已有记录「专辑」​
​
250px|700px|reset
​
​
同时手动引入一个「专辑」变量​
​
250px|700px|reset
​
​
在需填写的表单中添加「专辑名称」字段,字段的值来自于触发后的数据变量「专辑」,设置为只读​
​
250px|700px|reset
​
​
「收藏至歌单」字段来自于「引入的专辑.被加入的歌单」字段,这个变量是手动引入的空变量没有值​
​
250px|700px|reset
​
​
(2)列表循环​
增加列表循环节点,循环「引入的专辑.被收藏的歌单」字段,这个字段在表单中用户有填入值,循环用户填入的值​
​
250px|700px|reset
​
​
(3)条件分支​
增加条件分支节点,判断用户选择的歌单是否已被加入,如果专辑已经被加入至该歌单下则忽略,如果未被加入则增加至歌单下​
分支二为默认分支,直接接入流程​
  • 分支一​
「当前循环元素」不属于「专辑(原始数据).被收藏的歌单」下​
​
250px|700px|reset
​
​
获取「歌单」记录,筛选条件为歌单等于「当前循环元素」,获取对应的歌单​
​
250px|700px|reset
​
​
变量赋值插入值,将「专辑」插入至「获取的歌单.收藏的专辑」下,将「获取的歌单」插入至「专辑.被加入的歌单」下,互相将专辑和歌单插入到对应的多值字段中​
​
250px|700px|reset
​
​
提交入库,将「专辑」和「获取的歌单」变量提交入库​
​
250px|700px|reset
​
​
页面配置​
页面创建按钮或图标事件,选择该流程,传参专辑选择为「XX.当前行」参数​
​
250px|700px|reset
​
​
场景延伸​
  • 场景抽象:以下场景,可参考此方案​
  • 两个对象间,有多对多关联关系;且关联关系不重复​
  • 每次关联均产生增量数据,且不影响存量关联关系​
  • 对每条关联关系均有后续消费(对「项目 - 材料」进行抽检)​
  • 举例:项目资源管理、文档收藏、学生选课系统​
  • 资源管理:一个资源可被多个项目关联(但不重复关联),一个项目可包含多个材料​
  • 文档收藏:一个文档可被多个用户收藏(但不重复收藏),一个用户可收藏多个文档​
  • 学生选课:一个课程可被多个学生选择(但不重复选择),一个学生可选择多个课程​
预约飞书企业效能顾问 深度诊断企业痛点,定制专属 AI 办公方案

字节跳动旗下 AI 工作平台

关联文章推荐

优质内容,精华实践

先进团队,先用飞书

欢迎联系我们,飞书效能顾问将为您提供全力支持
分享先进工作方式
输送行业最佳实践
全面协助组织提效
标题标题标题标题标题标题标题标题标题标题标题标题标题标题标题标题标题标题

字节跳动旗下 AI 工作平台

联系我们立即试用