Titanium 钛合金中的更新查询问题
我不熟悉钛和合金框架。我创建了模型来存储一些数据。我能够插入和检索数据。我不知道如何更新行 按照我的建议,我做了如下工作:Titanium 钛合金中的更新查询问题,titanium,titanium-mobile,titanium-alloy,Titanium,Titanium Mobile,Titanium Alloy,我不熟悉钛和合金框架。我创建了模型来存储一些数据。我能够插入和检索数据。我不知道如何更新行 按照我的建议,我做了如下工作: var userLang = Alloy.Collections.userLanguage; var models = Alloy.createModel("userLanguage"); models.fetch({id: 1}); models.save({ languageID: langID, languageTex
var userLang = Alloy.Collections.userLanguage;
var models = Alloy.createModel("userLanguage");
models.fetch({id: 1});
models.save({
languageID: langID,
languageText: lang
});
上面的代码没有显示任何错误,但是当我尝试从表中选择一行时
var userLang = Alloy.createModel('userLanguage');
userLang.fetch({
query: {
statement: "SELECT * FROM userLanguage WHERE id = ?;",
params: [ 1 ]
}
});
alert("Updated value : "+userLang.get("languageText"));
型号
exports.definition = {
config : {
"columns": {
"id": "integer",
"languageID": "integer",
"languageText": "text"
},
"adapter": {
"type": "sql",
"collection_name": "userLanguage"
}
}
};
所选行未按预期更新
…我需要你的帮助
我猜你说的是脊梁骨。如果是这样,那么您可以在下面看到一个如何更新模型的示例
您可以在此处找到更多信息:
要更新模型,应首先从集合中获取它
var userLang = Alloy.Collections.userLanguage;
userLang.fetch();
var langModel=userLang.get({
id:1
});
然后使用set修改模型的属性
langModel.set({
languageText:'new value'
});
然后保存它
langModel.save();
如果将id作为主键,则不应更新id。。。
您应该在获取任何模型之前和更新模型之后获取数据。上述代码不起作用。你能建议我在附近工作吗。我们已经设置了上述答案中的值,并用原始代码更新了我的问题。代码有什么问题。请建议一些解决方案将“id属性”:“id”添加到您模型中的“适配器”。我尝试了您的建议,但无法更新行。你能给我举个例子吗。请在
适配器中获得idAttribute
?我得到以下错误,未捕获的TypeError无法通过添加模型调用未定义问题的方法“set”。这是完全错误的。只更新一个模型不需要获取整个集合。另外,如果你想得到一个模型,你可以只使用get(id)
。也不需要执行设置
然后保存
。我不清楚您是否可以更新您的答案。请尝试您的建议,但我无法更新行。你能给我举个例子吗。请
langModel.save();