我有两个模型:“身份”和“个人资料”。标识'belongsTo'个人资料。当我得到“身份”类型的记录时,我希望(通过此记录)获得相应的个人资料。我正在尝试使用以下代码:
Ext.define('App.model.Identity', {
extend: 'Ext.data.Model',
fields: [
// ...
{name: 'id_profile', type: 'int'},
// ...
],
belongsTo: {
model: 'App.model.Profile',
primaryKey: 'id',
foreignKey: 'id_profile',
associatedName: 'Profile'
},
proxy: {
type: 'ajax',
api: {
read: App.Config.getBaseUrl() + '/admin_identity/list',
create: App.Config.getBaseUrl() + '/admin_identity/create',
update: App.Config.getBaseUrl() + '/admin_identity/update',
destroy: App.Config.getBaseUrl() + '/admin_identity/destroy'
},
reader: {
type: 'json',
root: 'data'
}
}
});
Ext.define('App.model.Profile', {
extend: 'Ext.data.Model',
fields: [
{name: 'id', type: 'int'},
// ...
],
belongsTo: {
model: 'App.model.Identity',
primaryKey: 'id',
foreignKey: 'id_profile',
name: 'identities'
},
proxy: {
// ...
}
});
当我尝试这样做时:
function viewProfile(identity) {
identity.getProfile(function(profile){
console.log(profile);
});
}
我得到的是一个空的配置文件的对象。奇怪的是Identity类没有做任何http请求来获取配置文件。我这样做了吗?
提前致谢
答案 0 :(得分:1)
你试过了吗?
identity.getProfile({
success:function(profile, operation){
},
failure: function(profile, operation){
//check for a failure
}
});
我也会尝试删除associatedName属性。