В extjs связывает связанные данные с полем «через» - PullRequest
0 голосов
/ 04 октября 2018

Что ж, в моем приложении "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',
    }],
});

(Опять же, идентификатор_сервера является важным идентификатором для отношений.).

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

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

[{
    "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, как я ожидал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...