Здравствуйте.
Возникла у меня одна непонятка... Хочу сделать связь many2many между двумя моделями. Для связи используется третья модель, вот так:
Ext.define('SafetyRound.model.entity.SafetyRoundTrade', {
extend: 'Ext.data.Model',
idProperty: 'ID',
fields: [
{ name: 'ID', type: 'int' },
{ name: 'SafetyRoundProject_ID', type: 'int' },
'Name', 'Contractor'
],
manyToMany: {
TradeUsers: {
type: 'SafetyRound.model.entity.SafetyRoundUser',
role: 'users',
field: 'SafetyRoundUser_ID',
right: {
field: 'SafetyRoundTrade_ID',
role: 'trades'
}
}
}
});
Ext.define('SafetyRound.model.entity.SafetyRoundUser', {
extend: 'Ext.data.Model',
idProperty: 'ID',
fields: [
{ name: 'ID', type: 'int' },
{ name: 'SafetyRoundProject_ID', type: 'int' },
{ name: 'User_ID', type: 'int' }
]
});
// модель-связка
Ext.define('SafetyRound.model.entity.SafetyRoundTradeUser', {
extend: 'Ext.data.Model',
idProperty: 'ID',
fields: [
{ name: 'ID', type: 'int' },
{ name: 'SafetyRoundTrade_ID', type: 'int' },
{ name: 'SafetyRoundUser_ID', type: 'int' }
]
});
Я тут опустил описания прокси для краткости, там нет ничего особенного. Зато особенность есть в том, что ВСЕ нужные для работы данные уже загружены в свои сторы перед запуском приложения. С сервера уже ничего тянуть не надо. И тем не менее, когда я пишу вот так:
var m = Ext.create('SafetyRound.model.entity.SafetyRoundTrade', {
ID: 3
});
var u = m.users();
//u.load();
то получаю пустой стор. Если вызвать метод load то он лезет на сервер по настройкам прокси для SafetyRoundUser, при этом передавая фильтр:
filter:"[{"property":"SafetyRoundTrade_ID","value":3,"exact Match":true}]"
Как мне научить экст юзать данные из памяти, ежели такие есть уже?