1
に関連したモデルを移植私は、次のデータを持っている:は、ネストされたJSON
var data = [
{
id: 1,
name: 'Ed Spencer',
phoneNumber: '555 1234',
children: [{
id: 11,
name: 'Baz'
}]
},
{
id: 2,
name: 'Abe Elias',
phoneNumber: '666 1234',
children: [{
id: 21,
name: 'Foo'
},{
id: 21,
name: 'Bar'
}]
}
];
はこのように、いくつかのモデルとストアにロードする方法はありますか?
Ext.define('Child', {
extend: 'Ext.data.Model',
fields: [
{name: 'id', type: 'int'},
{name: 'user_id', type: 'int'},
{name: 'name', type: 'string'}
],
belongsTo: 'User'
});
Ext.define('User', {
extend: 'Ext.data.Model',
fields: [
{name: 'id', type: 'int'},
{name: 'name', type: 'string'},
{name: 'phone', type: 'string', mapping: 'phoneNumber'}
],
hasMany: {model: 'Child', name: 'children'}
});
var store = Ext.create('Ext.data.Store', {
autoLoad: true,
model: 'User',
data : data
});
私は店をループによって、これまでのところ、これを行うための一つの方法だけを発見した:
store.each(function(r){
r.childrens().loadData(r.data.children);
});
をしかし、これは偉大ないないようです。
データを1回ロードするだけです。自分のデータが既に構造化されているので、私は実際に各子供の外来キーを指定したくありません。
誰かが似たようなことをしましたか?これにアプローチするより良い方法はありますか?