主从数据
表的主从关系,是业务经常使用到的一种关联关系。
比如在一个订单中购买多个商品,那么订单和订单商品存在主从关系,也就是一对多关系。
主从关系涉及主数据集和从数据集,从数据集通过外键依赖于主数据集:
- 主数据集用于存储主要信息,如订单信息(订单编号,下单日期,客户ID等)
- 从数据集用来存储订单明细信息(订单中的产品、单价、数量、金额等)。主从关系可以是一主一从,一主多从,也可以是主从从。
主从设置
需要在从数据集进行设置,找到高级页签,勾选从数据集,关联的主数据集选择一个主数据集。
设置为从数据集后,当前数据集会自动增加一列作为外键(无需手动添加),自动记录主数据集 ID 列值,从而与主数据集关联:
该列在数据库表中会以后缀加 Id 的格式存在:
设置好主从关系后,这 2 个数据集会有强关联关系,表现在:
- 主数据集删除数据时,从数据集中与之关联的数据也会自动删除
- 新增从数据时,从数据的外键会自动赋值为主数据的主键
特别说明
- 如果用户不想使用这种强关联的主从关系,也可以不设置从数据集属性,自行添加外键列,自行对外键进行赋值。
主从使用
当使用主从功能的时候,需要把主数据集和从数据集一起引入到页面中。先引入主数据集,再引入从数据集。从数据集引入后,会自动在主从选项中,关联主数据集。
需要注意的是,如果页面放了多个同类的主数据集,那从数据集关联的主数据,需要自行选择调整一下。这个主从选项,用户也可以自行关闭,从而来实现其他的功能,比如表格嵌套、主从列表嵌套、打印主从等。
设置主从选项后,主要会有以下几个作用:
关联查询从表数据
查询主表的某条记录时,会自动查询出关联的从表记录列表
从浏览器的网络请求,可以查询到从数据集的查询操作:
设置主从选项后,从表的查询会跟着主表走。从表查询不会单独进行查询,是通过主表查询进行关联查询。
同时需要注意的是,从表查询后,会自动缓存从表的数据。再次点击主表的某条数据时,不会发起网络请求去查询从表,会直接从缓存中取出从表数据。
新增从表外键
新增从表数据时,从表的外键会自动赋值主表的主键:
这样从数据集后续在保存时,就不需要手动设置外键的数值了。
保存主从数据
只需要单独对主表进行保存操作,就可以连带把主表关联的从表数据一起保存到数据库,不需要单独对从表进行保存操作。
从浏览器的网络请求中可以看出来,保存请求会带上主从数据: