Показать сообщение отдельно
  #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(), но вот я получаю ошибку что такого метода нет. Что не так? Я где то напорол в определении связи?
Ответить с цитированием