gpt4 book ai didi

javascript - 如何将where条件应用于 Backbone 查询

转载 作者:行者123 更新时间:2023-12-03 06:20:20 26 4
gpt4 key购买 nike

我正在使用 Appcelerator 构建一个应用程序。我使用 Backbone 从数据库获取数据。

所以我构建了这段代码来从数据库获取数据:

var collection = Alloy.createCollection("SocialHistoryDAO");
collection.fetch();

现在我想在这个集合中应用一个where。所以我使用这段代码:

collection.where(id : 5);

然后这段代码可以工作,但现在我想应用这个过滤器:

"WHERE ID != 5";

可以这样做吗?

编辑:这是我的 SocialHistoryDAO 模型:

exports.definition = {
config: {
columns: {
"ID": "INTEGER PRIMARY KEY AUTOINCREMENT",
"IdOmnia": "INTEGER",
"DateStart": "text",
"DateEnd": "text",
"Quantity": "decimal",
"Code": "text",
"CodeSystem": "text",
"DisplayName": "text",
"DisplayNameTarget": "text",
"UnityMeasure": "text",
"StateID": "INTEGER"
},
adapter: {
type: "sql",
collection_name: "SocialHistoryDAO",
idAttribute: "ID"
}
},
extendModel: function(Model) {
_.extend(Model.prototype, {
// extended functions and properties go here
});

return Model;
},
extendCollection: function(Collection) {
_.extend(Collection.prototype, {

destroyAll : function(opt) {
var db = Ti.Database.open(this.config.adapter.db_name);
db.execute("DELETE FROM " + this.config.adapter.collection_name);
db.close();
this.models = [];
if (!opt || !opt.silent) { this.trigger("reset"); }
return this;
}
});

return Collection;
}
};

最佳答案

如果您使用 Backbone,那么您也在使用 Underscore(或 LoDash)。

这可以使用以下任一方法来完成:

var newArray = _.filter(collection.models, function(model) { return model.get('ID') != 5; });

var newArray = _.reject(collection.models, function(model) { return model.get('ID') == 5; });

关于javascript - 如何将where条件应用于 Backbone 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38899095/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com