我想在我的OData模型中创建一个新的用户记录。对于创建的每条新记录,我都希望userId
可以自行创建并自动递增,以便添加下一个用户。应用调试器并进行检查时,代码也不会读取成功函数并直接执行错误部分。
signup.controller.js
return Controller.extend("Workspace.controller.App", {
onInit: function() {
var user = {
name: "",
email: "",
password: ""
};
var oModel = new JSONModel(user);
this.getView().setModel(oModel, "SUP");
},
signupButton: function(oEvent) {
var oModel = this.getOwnerComponent().getModel("TEST");
var oModel1 = this.getOwnerComponent().getModel("UID");
var oModel2 = this.getOwnerComponent().getModel("SUP");
var obj = {};
obj.USERID = oModel1.getProperty("/x");
obj.USERNAME = oModel2.getProperty("/name");
obj.PASSWORD = oModel2.getProperty("/password");
obj.USERMAIL = oModel2.getProperty("/email");
oModel.create("/user", obj, {
success: function(oData, oResponse) {
MessageToast.show("Record Created Successfully...");
},
error: function(err, oResponse) {
MessageToast.show("Record not Created...");
}
});
},
// ...
});
答案 0 :(得分:1)
参考Marc的建议,这是您应该采取的方法。
在“用户”的createEntity方法中,读取UI请求发送的正文(oModel.create中的obj)。
读取用户表(构成用户实体Collection的表数据)并找到可用的最新用户ID。
连同从步骤1收集的数据一起,插入具有您要插入的userId的记录。
希望这有助于解决问题。