我使用Sencha Touch 2框架编写了一个小型移动应用程序。目前,我在localhost中管理数据库中的一些文章。我使用ArticleService.php文件中包含的PHP CRUD方法编写了数据库管理。我的'阅读'功能取回了所有文章。但我希望有一个其他的“读取”方法来读取根据其id或最后5篇文章等特定文章的例子。但是商店代理(我认为是这样)允许每个主要操作1个方法。所以在我的情况下,对于'读'操作,我只有一个'读'方法。
这是我的'商店'源代码:
Ext.define("MyApp.store.ArticleStore", {
extend: "Ext.data.Store",
requires: ["MyApp.model.ArticleModel"],
config: {
model: "MyApp.model.ArticleModel",
proxy: {
type: "ajax",
api: {
create: "http://localhost/MobileApplication/MyApp/services/ArticleService.php?action=create",
read: "http://localhost/MobileApplication/MyApp/services/ArticleService.php?action=read",
update: "http://localhost/MobileApplication/MyApp/services/ArticleService.php?action=update",
destroy: "http://localhost/MobileApplication/MyApp/services/ArticleService.php?action=destroy"
},
extraParams: {
keyword: ""
},
reader: {
type: "json",
rootProperty: "articles",
totalProperty: "total"
}
},
autoLoad: true
}
});
是否有可能为每个主要CRUD操作提供多种方法(例如3种不同的“读取”方法来管理我的文章显示)?我真的迷路了。 在此先感谢您的帮助!
答案 0 :(得分:0)
您不需要不同的阅读方法。加载商店后,它将存储在内存中,您将能够找到所需的任何记录。
如果您的存储空间太大而无法立即加载 - 请查看remoteFilter
属性:http://docs.sencha.com/touch/2.1.1/#!/api/Ext.data.Store-cfg-remoteFilter这样过滤您将设置的内容(如id = 1或parent_id = 2)将传递给服务器,以便它可以返回正确的记录集。