主从数据

表的主从关系,是业务经常使用到的一种关联关系。

比如在一个订单中购买多个商品,那么订单和订单商品存在主从关系,也就是一对多关系。

主从关系涉及主数据集和从数据集,从数据集通过外键依赖于主数据集:

  • 主数据集用于存储主要信息,如订单信息(订单编号,下单日期,客户ID等)
  • 从数据集用来存储订单明细信息(订单中的产品、单价、数量、金额等)。主从关系可以是一主一从,一主多从,也可以是主从从。

主从设置

需要在从数据集进行设置,找到高级页签,勾选从数据集,关联的主数据集选择一个主数据集。

undefined

设置为从数据集后,当前数据集会自动增加一列作为外键(无需手动添加),自动记录主数据集 ID 列值,从而与主数据集关联:

1703677496938

该列在数据库表中会以后缀加 Id 的格式存在:

undefined

设置好主从关系后,这 2 个数据集会有强关联关系,表现在:

  • 主数据集删除数据时,从数据集中与之关联的数据也会自动删除
  • 新增从数据时,从数据的外键会自动赋值为主数据的主键

特别说明

  • 如果用户不想使用这种强关联的主从关系,也可以不设置从数据集属性,自行添加外键列,自行对外键进行赋值。

主从使用

当使用主从功能的时候,需要把主数据集和从数据集一起引入到页面中。先引入主数据集,再引入从数据集。从数据集引入后,会自动在主从选项中,关联主数据集。

需要注意的是,如果页面放了多个同类的主数据集,那从数据集关联的主数据,需要自行选择调整一下。这个主从选项,用户也可以自行关闭,从而来实现其他的功能,比如表格嵌套、主从列表嵌套、打印主从等。

1703759797222

设置主从选项后,主要会有以下几个作用:

关联查询从表数据

查询主表的某条记录时,会自动查询出关联的从表记录列表

1703820130446

从浏览器的网络请求,可以查询到从数据集的查询操作:

1703820189497

设置主从选项后,从表的查询会跟着主表走。从表查询不会单独进行查询,是通过主表查询进行关联查询。

同时需要注意的是,从表查询后,会自动缓存从表的数据。再次点击主表的某条数据时,不会发起网络请求去查询从表,会直接从缓存中取出从表数据。

新增从表外键

新增从表数据时,从表的外键会自动赋值主表的主键:

1703819439272

这样从数据集后续在保存时,就不需要手动设置外键的数值了。

保存主从数据

只需要单独对主表进行保存操作,就可以连带把主表关联的从表数据一起保存到数据库,不需要单独对从表进行保存操作。

undefined

从浏览器的网络请求中可以看出来,保存请求会带上主从数据:

undefined

results matching ""

    No results matching ""