在extjs中,带关联的数据带有“ via”字段

时间:2018-10-04 17:51:26

标签: javascript associations extjs6-modern extjs6.5

在我的应用程序中,商店中sencha给出的“ id”并不总是与数据库上的id对应,但是关系由数据库驱动,因此由“ server_ids”驱动。

考虑一个简单的“组织->事件”关系,其中一个组织可以有许多事件。组织模型为:

Ext.define('TestApp.model.Organization', {
    extend: 'TestApp.model.Base',
    identifier: 'sequential',
    fields: [{
        name: 'id',
        type: 'int',
    },
        'server_id',
        'name',
    ]
});

server_id是关系的重要键。我将事件定义为:

Ext.define('TestApp.model.Event', {
    extend: 'TestApp.model.Base',
    identifier: 'sequential',
    fields: [{
        name: 'id'
    }, {
       name: 'server_id'
    }, {
        name: 'name'
    }, {
        name: 'organizationId',
        reference: 'TestApp.model.Organization',
    }],
});

(同样,server_id是关系的重要ID。)

现在,数据分两个阶段构建(首先在加载事件之后加载组织存储)。

组织请求将返回以下内容:

[{
    "name":"org1"
    "server_id":100
}, {
    "name":"org2"
    "server_id":102
}]

ID由sencha本身给出,将类似于“ 0”和“ 1”, 相应的事件加载将返回如下内容:

[{
    "name":"event1_org1"
    "server_id": 0
    "organization": 100
}, {
    "name": "event2_org1"
    "server_id": 1
    "organization": 100
}, {
    "name": "event1_org2"
    "server_id": 2
    "organization": 102
}]

现在如何在加载商店时告诉extjs“理解”关联?当我查找reference时,并没有出现我期望的foreignkeyvia指示。

0 个答案:

没有答案