Many to Many
Здравствуйте.
Возникла у меня одна непонятка... Хочу сделать связь 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}]" Как мне научить экст юзать данные из памяти, ежели такие есть уже? |
Часовой пояс GMT +3, время: 22:58. |