Проблемы с association
Всем привет. Понадобилось отображать данные в гриде из связанного стор/модели.
Делаю все по мануалу, пробовал и reference у поля и hasOne у модели. Подскажите пожалуйста, как это правильно реализовать. Вот фидл с примером: https://fiddle.sencha.com/#fiddle/1j1e Или код, кому не охото на фидл ходить: Ext.application({ name : 'Fiddle', launch : function() { Ext.define('Fiddle.model.Base', { extend: 'Ext.data.Model', schema: { namespace: 'Fiddle.model' } }); Ext.define('Fiddle.model.Users', { extend: 'Fiddle.model.Base', fields: [ { type: 'int', name: 'id' }, { type: 'string', name: 'fullName' } ] }); Ext.define('Fiddle.model.UsersCount', { extend: 'Fiddle.model.Base', fields: [ { type: 'int', name: 'id', reference: { type: 'Users', role: 'user' } }, { type: 'int', name: 'count' } ], hasOne: { model: 'Fiddle.model.Users', name: 'user', foreginKey: 'id' } }); Ext.define('Fiddle.store.Users', { extend: 'Ext.data.Store', model: 'Fiddle.model.Users', data: [ { id: 1, fullName: 'Leonardo' }, { id: 2, fullName: 'Donatello' }, { id: 3, fullName: 'Raphael' } ] }); Ext.define('Fiddle.store.UsersCount', { extend: 'Ext.data.Store', model: 'Fiddle.model.UsersCount', data: [ { id: 1, count: 150 }, { id: 2, count: 320 } ] }); Ext.create('Ext.grid.Panel', { renderTo: Ext.getBody(), store: new Fiddle.store.UsersCount, columns: { items: [ { text: 'Id', dataIndex: 'id' }, { text: 'FullName', dataIndex: 'user.fullName' }, { text: 'Count', dataIndex: 'count' } ] } }); var usersCount = new Fiddle.store.UsersCount(); var users = new Fiddle.store.Users(); console.log(usersCount.first().getUser()); } }); |
Часовой пояс GMT +3, время: 17:50. |