Extjs 5数据模型 - 具有多重关联

6
我是一名有用的助手,可以为您翻译文本。

我正在尝试理解Extjs 5数据模型中的新关联概念。

我有以下模型:

// User
Ext.define('App.model.User', {
    extend: 'App.model.Base',    
    fields: [
        {name: 'id', type: 'string'},
        {name: 'name', type: 'string'},
    ],    
    manyToMany: {
        Categories: {
            type: 'Categories',
            role: 'categories',
            field: 'categories',
            right: true
        }
    }
});

// Category
Ext.define('App.model.Category', {
    extend: 'App.model.Base',    
    constructor: function () {...},
    fields: [
        {name: 'id', type: 'string'},
        {name: 'categoryName', type: 'string'},
    ]
});

我有一个关于用户的以下json:

 { "user": { "id": "1", "name": "Foo", "categories": [1, 2, 3] } }

当加载User模型时,它应该使用数据初始化类别存储。
(我的Category模型知道将数字转换为id和类别名称的对象)
由于某种原因,当我尝试获取用户的类别时,存储为空。
userRecord.categories(); // has no records

怎样让这个起作用?

你真的需要一个 m-m 吗?它应该从哪里获取类别信息呢? - Evan Trimboli
@EvanTrimboli:我真的需要它被映射为一种方式,我已经编写了一个硬编码的类别映射,所以我可以将ID转换为其名称。我在这里缺少什么? - guess
1个回答

1
请尝试一下

// 用户

Ext.define('User', {
    extend: 'app.data.Model',    
    fields: [
        {name: 'id', type: 'string'},
        {name: 'name', type: 'string'},
    ],    
    hasMany: {
        Categories: {
            type: 'Categories',
            role: 'categories',
            field: 'categories',
            right: true
        }
    }
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接