建立一对一关系的最佳方式是什么?这就是我想要的:
Ext.define('MyApp.model.Post', {
extend : 'Ext.data.Model',
fields : [ 'id', {
name : 'author',
type : 'MyApp.model.Author'
}, {
name : 'content',
type : 'string'
} ],
hasMany : {
model : 'MyApp.model.Comment',
name : 'comments'
}
});
据我所知,author
将被视为对象文字属性而不是Ext JS模型,这意味着它不能用作记录。此外,getAuthor()
不可用。
另一种选择是:
Ext.define('MyApp.model.Post', {
extend : 'Ext.data.Model',
fields : [ 'id', 'authorID', {
name : 'content',
type : 'string'
} ],
hasMany : {
model : 'MyApp.model.Comment',
name : 'comments'
}
});
现在获取作者信息需要在某处进行另一次加载调用。
哪种做法最好,两者的优点和缺点是什么?使用第一个版本并存储作者名称等重要信息是否有利,如果要将其用作记录,则仅对完整作者对象进行进一步的加载调用?
答案 0 :(得分:0)
使用hasOne或belongsTo关系
http://extjs-tutorials.blogspot.ca/2012/05/extjs-belongsto-association-rules.html