Javascript.RU

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

Как получить связанные данные из модели?
Здравствуйте.

У меня есть две модели, отношение "один ко многим". Насколько я припоминаю, есть возможность сгенерировать в родительской модели метод для получения связанных данных. Но вот как? Вот что я написал:

Ext.define("PM.model.entity.Process", {
	extend: "Ext.data.Model",
	idProperty: "ID",
	fields: [
		"Name"
	],
	proxy: {
		type: "ajax",
		pageParam: "",
		limitParam: "",
		startParam: "",
		reader: {
			type: "json",
			rootProperty: "data",
			messageProperty: "msg"
		},
		writer: {
			type: "json"
		},
		api: {
			create: "/json?cmd=pm.process.create",
			read: "/json?cmd=pm.process.read",
			update: "/json?cmd=pm.process.update",
			destroy: "/json?cmd=pm.process.destroy"
		}
	}
});

Ext.define("PM.model.entity.SubjectField", {
	extend: "Ext.data.Model",
	idProperty: "ID",
	fields: [
		{ name: "PMProcess_ID",
			type: "int",
			reference: {
				parent: "entity.Process",
				association: "FieldsByProcess",
				role: "process",
				inverse: "subjectFields"
			}
		},
		{ name: "Name",
			type: "string"
		}
	],
	proxy: {
		type: "ajax",
		reader: {
			type: "json",
			rootProperty: "data",
			messageProperty: "msg"
		},
		writer: {
			type: "json"
		},
		api: {
			create: "/json?cmd=pm.subjectfield.create",
			read: "/json?cmd=pm.subjectfield.read",
			update: "/json?cmd=pm.subjectfield.update",
			destroy: "/json?cmd=pm.subjectfield.destroy"
		}
	}
});


Много SubjectField может принадлежать одному Process. У меня есть грид со списком процессов. В обработчике клика я получаю выбранную модель и хотел бы получить связанные филды с помощью автоматически сгенерированного метода. В теории, это должен был бы быть метод subjectFields(), но вот я получаю ошибку что такого метода нет. Что не так? Я где то напорол в определении связи?
Ответить с цитированием
  #2 (permalink)  
Старый 24.10.2014, 16:40
Аватар для Infarch
Профессор
Отправить личное сообщение для Infarch Посмотреть профиль Найти все сообщения от Infarch
 
Регистрация: 06.06.2014
Сообщений: 292

Разобрался. Надо было в Process добавить ассоциацию:
hasMany: {
		foreignKey: "PMProcess_ID",
		associationKey: "subjectFields",
		name: "subjectFields",
		model: "PM.model.entity.SubjectField"
	},


и имя подчиненной модели полностью написать. В ней же ничего писать не надо.
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить свойсвто объекта? Armen Общие вопросы Javascript 4 19.10.2014 06:45
Как получить значение цвета из color picker razorg1991 jQuery 1 06.10.2014 09:06
Как получить в JQUERY каждую строку как отдельный объект? Alex1233 Общие вопросы Javascript 3 22.08.2014 06:54
Как получить значение переменной из игры на HTML5? Dimaz Общие вопросы Javascript 6 10.08.2014 16:27
Как получить значения вышестоящих элементов дерева TreeStore ? Allan Stark ExtJS 1 31.07.2012 16:48