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

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

飞书低代码平台手册精选NaN-NaN-NaN
产品功能
使用场景
需要管理多对多且不重复的关联关系,比如:
  • 一个环保材料可以被加入到多个装修项目中(但不能重复加入),一个装修项目可以包含多个环保材料
  • 一个面试官可以收藏面试题库里的多道题(但不能重复收藏),一道题可以被多个面试官收藏
  • 一个歌曲(专辑)可以被被多个歌单收藏,一个歌单中也可以收藏多个歌曲
效果演示
  • 环保材料管理系统
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
场景延伸
  • 场景抽象:以下场景,可参考此方案
  • 两个对象间,有多对多关联关系;且关联关系不重复
  • 每次关联均产生增量数据,且不影响存量关联关系
  • 对每条关联关系均有后续消费(对「项目 - 材料」进行抽检)
  • 举例:项目资源管理、文档收藏、学生选课系统
  • 资源管理:一个资源可被多个项目关联(但不重复关联),一个项目可包含多个材料
  • 文档收藏:一个文档可被多个用户收藏(但不重复收藏),一个用户可收藏多个文档
  • 学生选课:一个课程可被多个学生选择(但不重复选择),一个学生可选择多个课程
先进生产力和业务协同平台
联系我们立即试用

先进团队,先用飞书

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