我对ExtJS很新,并且正在努力解决它。
我有一个“人”模型,它与同一个模型(母亲和父亲)有几个关系。
我不清楚如何访问这些关系。这就是我所拥有的:
Ext.define('IwiDb.model.Person', {
extend: 'Ext.data.Model',
fields: [
'ID',
'Title',
'FirstName',
'MiddleNames',
'Surname',
//.. snip
'MotherID',
'FatherID',
],
associations: [{
type: 'belongsTo',
model: 'IwiDb.model.Person',
primaryKey: 'ID',
foreignKey: 'MotherID',
autoLoad: true,
name: 'Mother',
getterName: 'getMother',
},{
type: 'belongsTo',
model: 'IwiDb.model.Person',
primaryKey: 'ID',
foreignKey: 'FatherID',
autoLoad: true,
name: 'Father',
getterName: 'getFather',
}],
idProperty: 'ID',
proxy: {
type: 'rest',
url: 'api/v1.extjs/Person',
format: 'json',
reader: {
type: 'json',
root: 'items',
totalProperty: 'totalSize',
},
writer: {
type: 'json',
},
simpleSortMode: true,
}
});
编辑:我想我已经接近了,我已经将代码更新为我现在所拥有的。至少现在我可以做person.getMother()并获得一个函数。但我仍然无法获得数据。谁知道怎么做?
答案 0 :(得分:2)
好吧,我最终想到了。上面的(编辑过的)代码是正确的定义,然后如果我想加载母亲,我会做这样的事情:
var mother;
person.getMother(function(result, operation) { mother = result });