-1

建立一对一关系的最佳方式是什么?这就是我想要的:

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'
    }
});

获取作者信息现在需要在某处进行另一个加载调用。

哪种做法最好,两者的优缺点是什么?使用第一个版本并存储重要信息(如作者姓名)并仅在将用作记录时才对完整作者对象进行进一步加载调用是否有利?

4

1 回答 1

0

使用 hasOne 或 belongsTo 关系

http://extjs-tutorials.blogspot.ca/2012/05/extjs-belongsto-association-rules.html

于 2012-10-17T19:59:35.003 回答