ExtJS hasOne assosiation
Коллеги, помогите копнуть. Есть две модели:
Ext.define('App.model.UserStatus', { fields: [ 'id', 'name' ], belongsTo: ['User'], ... и Ext.define('App.model.User', { fields: [ 'id', 'name', 'status_id' ], // Со справочником статусов associations: [ { type: 'hasOne', model: 'App.model.UserStatus', primaryKey: 'id', foreignKey: 'status_id', getterName: 'getUserStatus', setterName: 'setPoop', instanceName: 'UserStatus' } ... данные в MySQL. В Grid'е пробую получить значение поля из справочника: { header: 'status', dataIndex: 'status_id', renderer: function (value, meta, record) { return record.getUserStatus().get('name'); } } возвращает пустышку. Причем console.log(record) показывает, что в каждой записи User уже есть вложенный объект UserStatus с необходимыми данными, при этом getter getUserStatus выдает совершенно другой объект в котором id имеет правильное значение, а name - пустое. Еще вопрос, можно ли как-то указывать поля дочерней таблицы в описании полей grid'а ( типа dataIndex: 'UserStatus.name' ) или без render'а никак не обойтись? |
честно говоря, я ext немного знаю, но не до такой степени, чтобы помогать.. поэтому если не то скажу, не обижайтесь))
я что то подобное делал так: var index = store_user_status.find("id", eval('/^' + id + '$/'));//находим index по id'шнику return (index == -1) ? '' : store_user_status.getAt(index).get('name'); |
Это понятно, это не вопрос, но по большому счету - это костыль, просто хотелось бы работало "из бокса"
|
Часовой пояс GMT +3, время: 22:14. |