跳转到主要内容

表单之间的关系

如何创建表单之间的关系​

创建表单之间的关系是智能组织信息的重要功能。通过连接表单,您可以避免重复数据,并确保应用内聚、可扩展且易于维护。

Netuno 的一大优势是能够自动生成数据模型图。

关系定义了不同表的数据如何相互交互。这种连接会直接反映在用户界面 (UI) 中,使一个表单中的字段能够自动从另一个表单获取信息。

简单图表示例: 适用于验证小型模块的初始逻辑。

简单图表示例

复杂图表示例: 展示该工具在大规模应用中的稳健性,映射多个依赖关系和数据流。

复杂图表示例

创建 Select 类型的关系字段​

Select 字段用于在两个表单之间创建关系。它允许您从下拉列表(dropdown)中选择一个值,而不是手动输入。该列表由另一个表单中已存在的数据填充。

我们将使用 车辆 和 颜色 表单作为示例。

何时使用? 当您拥有“多对一”(N-1) 关系时,请使用 select。

示例: 多辆车辆可以拥有一种颜色。无需每次都输入“蓝色”,而是从已注册的颜色列表中选择“蓝色”。

  • 目标表单: 车辆(我们将在此创建 select 字段)。
  • 来源表单: 颜色(颜色列表数据来自此处)。

要求​

开始之前,请确保:

  • 两个表单(车辆 和 颜色)已经在 Netuno 中创建。详细信息请参阅我们的创建表单指南。

  • 来源表单(颜色)已经有一些已注册的记录。(例如:“蓝色”“红色”“银色”)。详细信息请参阅我们的创建字段指南。

创建并配置 Select​

在 车辆 表单中添加 select 字段类型,以便它可以“拉取” 颜色 表单的数据。

创建并配置 Select 字段示例

1 - 访问目标表单​

  • 在 Backoffice 中,进入字段管理并打开 车辆 表单的编辑页面。

2 - 创建新字段​

  • 点击“创建新字段”。

3 - 定义标题和列名​

  • 字段标题: 为用户显示一个友好的名称。示例: 车辆颜色。
  • 列名: 这是字段在数据库中的技术名称。

最佳实践: 创建关系字段时,请始终在 列名 中使用 _id 后缀。这样可以清楚地表明,该列存储的不是“蓝色”文本,而是 颜色 表单中“蓝色”记录的引用 ID。示例: cheliang_yanse_id。

4 - 选择数据类型​

  • 在 类型 字段中,从列表中选择 select - select 选项。

5 - 配置链接(关系)​

配置链接示例

  • 选择 select 后,将显示一个名为 链接 的新字段。
  • 点击 配置 按钮。
  • 将打开一个模态框,列出您的所有表单。此时请选择来源表单。
  • 选择包含您要列出数据的表单。在我们的示例中,点击 yanse - 颜色。
  • 选择后,点击模态框中的 关闭 按钮。

6 - 保存更改​

  • 在字段管理中点击 保存 按钮,以应用所有配置。

结果​

完成!现在在“查看”模式下,当您在 车辆 表单中添加或编辑记录时,“车辆颜色”字段将是一个下拉列表(dropdown),显示 颜色 表单中已注册的所有颜色。

创建 Multiselect 类型的关系字段​

Multiselect 字段用于创建“多对多”(N-M) 关系。它允许您在一个字段中从列表中选择多个项目。

我们将使用 人员、角色 和 人员-角色 表单作为示例。

何时使用? 当一个记录可以关联到多个其他记录,反之亦然时,请使用 multiselect。 示例: 多个人员可以拥有多个角色。

  • 一个人员(例如:“安娜”)可以拥有“管理员”和“经理”角色。
  • “经理”角色可以关联到多个人员(例如:“安娜”“布鲁诺”和“蒂亚戈”)。

为此,我们需要三个表单:

  • “父级”表单(人员): 用户将在此处看到 multiselect 字段。
  • “来源”表单(角色): 列表选项来自此处(例如:“管理员”“经理”)。
  • “连接”表单(人员-角色): 一个“桥接”表单,用于存储 人员 和 角色 之间的连接。

要求​

开始之前,请确保:

  • “父级”表单(人员)已经创建,并有一些记录(例如:“安娜”“布鲁诺”“卢卡斯”)。
  • “来源”表单(角色)已经创建,并有一些记录(例如:“管理员”“经理”“顾问”)。

创建并配置 Multiselect​

配置分为 4 个步骤:

第 1 步:创建连接表单(人员-角色)​

首先,我们来创建“桥接”表单。

1 - 转到“管理 > 表单”,然后点击“创建新表单”。

2 - 表单标题: 人员-角色。

3 - 表名: renyuan_jiaose(或类似名称)。

4 - 重要: 在 父级 字段中,选择主要的“父级”表单,在本例中即 人员。这样会将 人员-角色 变为子表单。

5 - 点击 保存。

创建连接表单的父级表单示例

第 2 步:配置连接表单的字段​

将“桥接”字段添加到人员-角色表单。

1 - 访问您刚创建的人员-角色表单的字段管理。

2 - 添加两个 select 类型字段:一个指向人员,另一个指向角色。

字段 1(链接到人员):

人员链接字段示例

  • 字段标题: 人员姓名
  • 列名: xingming_renyuan_id(遵循 _id 约定)
  • 类型: select - select
  • 链接: 点击 配置,选择 人员 表单的主字段,例如:renyuan:xingming。
  • 点击 保存。

字段 2(链接到角色):

  • 字段标题: 人员角色。
  • 列名: jiaose_renyuan_id。
  • 类型: select - select。
  • 链接: 点击 配置,选择 角色 表单的主字段,例如:jiaose:jiaose_id。
  • 点击 保存。

人员角色字段链接示例

第 3 步:在“父”表单中创建 multiselect 字段​

“桥接”表单(人员-角色)准备好后,我们可以返回 人员 表单创建最终字段。

1 - 转到 人员 表单的字段管理。

2 - 点击“创建新字段”。

3 - 字段标题: 人员角色。

4 - 列名: renyuan_jiaose_id。

5 - 类型: multiselect - multiselect。

第 4 步:配置 multiselect 字段​

选择 multiselect 类型后,将显示两个新的配置字段:引用 和 链接。

1 - 引用(在哪里保存关系?)​

  • 此字段告诉 Netuno:“连接表单中的哪个字段指回我(人员)?”
  • 点击 配置。
  • 选择连接表单(人员-角色)以及您在步骤 2 中创建的字段(字段 1)。示例: renyuan_jiaose:xingming_renyuan_id。

2 - 链接(选项来自哪里?)​

  • 此字段表示:“连接表单中的哪个字段指向选项(角色)?”
  • 点击 配置。
  • 选择连接表单(人员-角色)以及您在步骤 2 中创建的字段(字段 2)。示例: renyuan_jiaose:jiaose_renyuan_id。

3 - 保存更改​

  • 在字段管理中点击 保存 按钮,以应用所有配置。

配置 multiselect 字段示例

结果​

完成!现在在“查看”模式下,当您在 人员 表单中添加或编辑记录时,“人员角色”字段将显示为多选框。您可以从列表中选择多个角色(这些角色来自 角色 表单),Netuno 会自动将这些关联保存到 人员-角色 表单中。

如果您有任何疑问,请通过社区以及本页末尾提供的其他渠道与我们联系。

祝您开发顺利!