我尝试通过模型的加载函数从具有嵌套属性的服务器加载 JSON 回复。但不知何故,只有我的嵌套属性集的第一个条目被解析。
我正在尝试加载如下 JSON 文件:
{
"id" : "2",
"name" : "John",
"logins" : [
{
"id" : "4",
"person_id" : "2",
"date" : "2012-01-18 01:00:06"
},{
"id" : "9",
"person_id" : "2",
"date" : "2012-01-18 19:36:13"
},{
"id" : "12",
"person_id" : "2",
"date" : "2012-01-19 00:12:32"
}]
}
我有两个模型,如下所示:
Ext.define('MyAppName.model.Person', {
extend : 'Ext.data.Model',
config : {
idProperty : 'id',
fields : [{
name : 'id',
type : 'int'
}, {
name : 'name',
type : 'string'
}],
hasMany : [{
model: 'MyAppName.model.Login',
name: 'logins',
associationKey: 'logins'
}],
proxy : {
type : 'ajax',
url : '../index.php?format=json',
reader : {
type : 'json'
}
}
}
});
和
Ext.define('MyAppName.model.Login', {
extend : 'Ext.data.Model',
config : {
fields : [{
name : 'id',
type : 'int'
}, {
name : 'person_id',
type : 'int'
}, {
name : 'date',
type : 'date'
}],
belongsTo: [{
model: 'MyAppName.model.Person',
associationKey: 'logins'
}]
}
});
我尝试通过以下方式加载一个新人的数据
MyAppName.model.Person.load(personId, {scope: ..., ..., success: function(record, operation) { -someFancyCode-} })
但是我在成功函数中检索到的记录现在只包含一个登录数据集。我做错了什么吗?
谢谢!网卡