如何在手动模式下保存记录的主键值?

问题描述 投票:1回答:1

我在手动保存模式下有一个模型,在创建模式下有一个表单。一旦我添加了详细信息并单击提交,它应该创建记录并提醒“您的请求已注册id = 7”,其中id是id(主键)。

请注意,主键处于自动递增状态并动态生成。

在手动保存模式下,我使用saveChanges保存记录,但看到错误:

严重:记录RecordKey {key = private $ 2,model key = 1ymdoCYoHKEGpumlXveKKZh_57jUjd9OY | 7LyXBUY46K9Jl6GRCy1DeL32kXmnGHis}已被删除。失败:getProperty at Object。 (UserCreationRequest:12:37)at createCR(UserCreationRequest:11:19)at UserCreationRequest.Container.UserCreationRequestPanel.UserCreationRequestPanelFooter.UserCreationRequestPanelSubmitButton.onClick:1:1

(错误12:37指向record._key)

代码:(执行提交按钮的OnClick)

   widget.datasource.saveChanges(function(record) {
   alert('Your request is registered with id='+record._key);
   }

有人可以建议如何在手动模式下保存主键吗?

其他信息参考:

对于其他一些模型,上面的代码在其他地方也适用。但是不适用于当前的模型,是因为当前模型有关系吗?

我在当前模型的Datasources部分添加了一个新的数据源,并使用它的工作正常。但为什么原来的工作不顺利呢?

另外,仅供参考,this是一个类似的问题,但它没有帮助,因为它是一个不同的方法。我很想保存使用小部件本身。

google-apps-script google-cloud-platform google-app-maker
1个回答
0
投票

首先,我们需要了解创建模式与普通模式不同。说清楚了,我们可以做到以下几点:

假设数据源名称为MYDATASOURCE,则表单数据源应为MYDATASOURCE(create)。然后,在插入表单内的提交按钮小部件的onClick事件上,使用:

widget.datasource.createItem(function(record){
  app.datasources.MYDATASOURCE.saveChanges(function(){
    console.log(record._key);
  });
});
© www.soinside.com 2019 - 2024. All rights reserved.