数据循环存储
场景与目标
- 目标:搭建一个“行为流”,实现调用 AI Agent 生成行程并将其结构化数据自动拆解存入数据库,最后在前端多层嵌套列表展示。
- 适用场景:AI 助手、自动化报告生成、复杂任务拆解与入库。
- 核心逻辑:前端提交需求 -> 触发异步行为流 -> AI 生成 JSON -> 嵌套循环解析 -> 数据库多表关联存储 -> 前端动态渲染。
前置要求
本教程为AI旅行规划系列的第 2 部分。在开始本节配置前,请确保你已完成 [第一篇:API与Agent配置],并成功创建了数据表、高德 API 以及 AI Agent。
实现步骤
数据存储
详见总览中数据存储部分。
逻辑与状态配置
核心行为流搭建:调用 AI 与存储
-
新建行为流:命名为“计划生成与存储”。
-
配置输入:添加一个长整数类型的参数
trip_id。
-
创建触发器:选择“数据库内容变化”,监听
trip表的“数据增加时”,并将新增数据的id绑定到行为流输入的trip_id。
-
设置执行方式:将执行方式切换为 异步。

-
查询数据:添加 获取数据 节点,根据
trip_id查询该旅行计划的详细需求。
-
开始会话:添加 开始会话 节点,选择预先配置好的 AI Agent,并将查询到的出发地、目的地、预算等字段一一绑定到 Agent 的输入项。

拆解并循环存储结构化数据
由于 AI 返回的是包含多天、每天多个景点的复杂结构,我们需要使用嵌套循环进行存储。
-
外层循环:添加 列表循环 节点,遍历 AI 输出的
daily_itineraries列表。
-
添加每日计划:在循环内部添加 添加数据 节点,将当前项的
day_number、summary存入daily_itinerary表,并关联trip_id。
-
内层循环:在每日计划添加成功后,嵌套第二个 列表循环,遍历当前天的
itinerary_details。
-
添加行程明细:添加 添加数据 节点,存储地点、交通、时间等。
-
地理位置处理:使用内置函数
GENERATE_GEO_POINT,将 AI 返回的经度和纬度转换为系统可识别的地理位置格式。
-
-
更新主表状态:当所有循环执行完毕,添加 更新数据 (Update Data) 节点。将 AI 生成的标题和总结存入
trip表,并将is_completed设为True。
UI 搭建与交互
绑定输入表单
-
按钮行为:选中“开始生成”按钮,添加“点击时”触发的 添加数据 行为,目标为
trip表。 -
参数映射:将页面上的输入框(出发地、目的地、人数等)和日期选择器分别绑定到数据库字段。

绑定列表展示数据
展示区采用三层嵌套列表结构:
-
第一层(计划列表):数据源设为
trip表。-
过滤器:
account_id等于当前用户,且is_completed为真。
-
-
第二层(每日计划):数据源设为
daily_itinerary表。-
过滤器:
trip_id等于上层列表当前项的id。
-
-
第三层(详情列表):数据源设为
itinerary_detail表。-
过滤器:
daily_itinerary_id等于上层列表当前项的id。
-
-
坐标显示:对于经纬度文本,使用公式
GET_VALUE_FROM_GEO_POINT从地理位置字段中提取具体数值。
验证
步骤 1:提交需求
在预览页面模拟登录后,填写一份旅行需求,点击“开始生成”。
预期结果:页面显示提示,数据库 trip 表新增一条记录。
步骤 2:后台处理监测
切换至数据库管理后台,观察数据变化。

预期结果:daily_itineraries 和 itinerary_details 表开始自动填充数据,关联关系正确。
步骤 3:前端结果展示
等待片刻后查看前端展示区。

预期结果:页面自动渲染出结构清晰的定制化旅游攻略。
如果列表没有正确显示数据,请检查过滤器配置是否正确,特别是 is_completed 是否已在行为流末尾被正确更新为 True。