В extjs связывает связанные данные с полем "через"

Что ж, в моем приложении "id", заданный sencha в магазинах, не всегда будет соответствовать 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 является важным идентификатором для отношений.).

Теперь данные строятся в два этапа (сначала загружается хранилище организации, после чего загружаются события).

Запрос организации вернет что-то вроде:

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

Идентификаторы задаются самим 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 "понять" ассоциации при загрузке магазина? Когда я смотрю ссылку, нет никаких указаний на foreignkey или же via как я и ожидал.

0 ответов

Другие вопросы по тегам