Skip to content

2.4 一对多关系设计

一对多关系指一个模型的一条数据和另一个模型的多条数据存在关系,在织信平台中可以通过关联列表查找列表两个类型的字段来构建一对多关系。一对多关系最终将会以列表的形式在表单中进行展示。

2.4.1 关联列表的配置方法

关联列表类型的字段可直接构建数据间的一对多关系,其在数据库中会使用邻接表单独存储,在自动化和脚本中查询记录信息不会返回关联列表 的值,需要单独调用自动化步骤或者脚本函数查询。我们可以通过下面的案例场景来说明如何通过关联列表类型字段实现数据表之间一对多关系的设计。

例3:假设我们当前有一个【主表】模块,我们希望在【主表】中能关联当前表的其他多条记录,并且以列表的形式展示。

答:首先我们需要创建【主表】,完成一些如名称等基础字段的创建。然后在主表中创建一个[字段类型]为关联列表的字段,按下图方式进行配置:

image-20231129155824879image-20231129155907435

该<添加关联>按钮的配置如下:

image-20231129175307364

效果展示:

relationListFiles

2.4.2 查找列表的配置方法

查找列表其实就是将另一个模块的数据以列表的形式展示在当前表单中,需要通过查找列表实现一对多关系的建立需要构建一个数据表作为子表。一般我们都会在子表中使用关联记录关联主表,然后在主表中使用查找列表实现一对多关系的构建。我们可以通过下面的案例场景来说明如何通过查找列表类型字段实现数据表之间一对多关系的设计。

例4:假设我们当前有【主表】和【子表】两个模块,我们希望在【主表】中能关联【子表】的多条记录,并且以列表的形式展示,列表中希望展示名称类型数值三个字段,在列表中希望支持对名称类型字段进行筛选;当新增关联的时候希望在子表中创建记录进行存储。

答:首先我们需要创建【主表】和【子表】数据表模块,完成一些如名称等基础字段的创建。然后先在【子表】中创建一个[字段类型]为关联记录的字段,按下图方式进行配置;

image-20231129163120054

再在【主表】中创建一个[字段类型]为查找列表的字段,按下图方式进行配置:

image-20231129164144692image-20231129164241273

其中[只查找满足以下条件的数据]的配置如下:

image-20231129175435239

<新增一行>的按钮配置如下:

image-20231129175516137

为了保证创建子表后,子表的数据能默认关联主表,我们需要通过配置项[主表记录创建成功后设置子表记录的字段值]实现,点击该配置项中的<添加>按钮,选择关联主表字段,在默认值中通过表达式获取当前记录的id,表达式内容为:

${record.id}
image-20231129170819364

效果展示:

lookup

2.4.3 关联列表汇总

关联列表-子表分组中的数量字段是通过关联列表汇总类型字段实现的,此字段可对指定关联列表类型的字段进行汇总计算,支持数量、求和、平均值、最大值、最小值、平均值五种汇总函数。

例5:我们现在已经有了一个关联列表字段,现在需要汇总这个关联列表字段中的记录数量。

答:在数据表中创建一个[字段类型]为关联列表汇总的字段,在配置项[关联列表字段]中选择一个关联列表字段,配置项[汇总方式]中选择数量,点击保存,完成后发布应用。

image-20231129172008283

效果展示:

image-20231129171923699

2.4.4 查找汇总

查找列表-子表汇总分组中的数量求和数量-条件字段是通过查找列表汇总类型字段实现的,此字段可对指定数据表中关联到本表的关联记录字段进行查询并汇总计算,支持数量、求和、平均值、最大值、最小值、平均值五种汇总函数。

例6:如例3中我们现在已经有了【主表】和【子表】两个模块,现在需要在【主表】中做一个查找汇总字段,对查找列表中的数据的数值字段进行求和。

答:在数据表中创建一个[字段类型]为查找汇总的字段,内部的配置如图,完成后点击保存并发布应用。

image-20231129172452534

其中[查找满足以下条件的数据]的配置如下图:

image-20231129173657327

效果展示:

image-20231129173738898