Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.12.2015, 14:16
Аватар для Infarch
Профессор
Отправить личное сообщение для Infarch Посмотреть профиль Найти все сообщения от Infarch
 
Регистрация: 06.06.2014
Сообщений: 292

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}]"
Как мне научить экст юзать данные из памяти, ежели такие есть уже?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск