You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Directus更新记录时如何在Payload中传递所有字段值

在Directus更新记录时获取完整字段Payload的方案

方法一:用流程中的「Fetch Data」操作

  • 在现有更新触发流程的后面,添加一个Fetch Data操作
  • 配置该操作:
    • 选择你正在更新的目标集合
    • 筛选条件设置为id等于$trigger.payload.id(也就是当前被更新记录的ID)
    • 字段选择里勾选所有需要的字段(包括用户ID),或者直接选「All Fields」
  • 后续发送通知的步骤,就可以调用$steps.fetch_data.data[0].user_id这类变量来获取完整记录里的字段值

方法二:用自定义Hook代码实现

如果需要更灵活的控制,可以写一个自定义钩子绑定到更新事件:

module.exports = async function({ items }, { services, schema }) {
  const { ItemsService } = services;
  const collectionService = new ItemsService('你的集合名称', { schema });

  // 通过ID读取完整记录
  const fullRecord = await collectionService.readOne(items[0].id);

  // 这里编写你的通知逻辑,比如使用fullRecord里的user_id
  // 示例:调用通知服务发送消息给对应的用户
  // await sendNotification(fullRecord.user_id, '状态已更新');
};
  • 将这个钩子绑定到items.update事件上,更新触发后就能拿到完整记录数据

内容的提问来源于stack exchange,提问作者Champak Chopda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 04:11:59