モデルのロード機能を介して、ネストされた属性を持つサーバーから 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"
}]
}
私は次のような2つのモデルを持っています:
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-} })
しかし、success 関数で取得したレコードには、ログイン データセットが 1 つしか含まれていません。私は何か間違ったことをした?
ありがとう!ニック