У меня есть следующие две таблицы:
Таблица компания с этими столбцами:
id
name
cif
location
Таблица рабочий с этими столбцами:
id
idCompany
name
code
Отношение состоит в том, что в одной компании много работников
В extjs 4.2 у меня есть две модели:
mdlCompany
Ext.define('App.model.mdlCompany', {
extend: 'Ext.data.Model',
fields: [
{name: 'id', type: 'integer'},
{name: 'name', type: 'string'},
{name: 'cif', type: 'string'},
{name: 'location', type: 'string'}
]
});
mdlWorker
Ext.define('App.model.mdlWorker', {
extend: 'Ext.data.Model',
fields: [
{name: 'id', type: 'integer'},
{name: 'name', type: 'string'},
{name: 'code', type: 'string'}
]
});
Как установить отношения между моделями?Я пытаюсь установить эту строку в mdlCompany :
hasMany: {model: 'App.model.mdlWorker', foreignKey: 'idCompany'}
И в mdlWorker :
{name: 'idCompany', type: 'int'}
Если эта часть верна,нет проблем.
Возвращение php, который получает данные:
0:{
id: 1
name: "John",
code: "J001",
company:{
id:1
name: "Company 1",
location: "Some place"}
}
1:{
id: 2
name: "Paul",
code: "P001",
company:{
id:2
name: "Company 2",
location: "Some other place"}
}
...
У меня есть эта сетка:
Ext.apply(this, {
store: 'somestore with mdlWorker assigned',
stripeRows: true,
loadMask: true,
columns: [
{ text: 'Id', dataIndex: 'id', flex: 1 },
{ text: 'Name', dataIndex: 'name', flex: 1 },
{ text: 'Code', dataIndex: 'code', flex: 1 },
{ text: 'Company', dataIndex: 'company.name', flex: 1 }
],
});
Но столбец Компания пусто, когда я отрисовываю сетку и загружаю ее хранилище.Нужна ли еще конфигурация?Или Как я могу получить доступ к свойству company.name mdlWorker ?