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

如何在lsFusion中通过ID获取Document类对象?

通过ID获取Document对象的实现方法

你目前的代码仅实现了从Document对象获取对应ID的逻辑,要反向通过ID查找对象,需要额外维护ID与对象的映射关系,具体实现如下:

1. 定义全局映射结构

添加一个全局数据结构,用来存储ID到Document对象的对应关系:

// 全局映射:ID -> Document对象
idToDocument = DATA Document (INTEGER);

2. 创建对象时同步映射

在生成Document对象并分配ID的同时,把ID和对象的关联存入映射表:

// 创建Document对象并绑定ID的示例方法
createDocument() {
    newDoc = NEW Document();
    // 生成唯一ID(这里假设你有自己的ID生成逻辑,比如自增、UUID等)
    uniqueId = generateUniqueId();
    id(newDoc) = uniqueId;
    // 将ID与对象关联存入映射
    idToDocument(uniqueId) = newDoc;
    RETURN newDoc;
}

3. 通过ID获取对象的方法

直接通过映射表查找即可:

// 根据ID获取对应的Document对象
getDocumentById(INTEGER targetId) {
    RETURN idToDocument(targetId);
}

额外注意事项

  • 确保ID的唯一性,避免映射冲突导致对象覆盖
  • 当Document对象被销毁时,要同步从映射表中移除对应条目,防止内存泄漏:
// 销毁对象时清理映射
deleteDocument(Document doc) {
    docId = id(doc);
    DELETE idToDocument(docId);
    DELETE doc;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 07:07:01