Показать сообщение отдельно
  #1 (permalink)  
Старый 23.06.2013, 14:49
Новичок на форуме
Отправить личное сообщение для pablos2038 Посмотреть профиль Найти все сообщения от pablos2038
 
Регистрация: 23.06.2013
Сообщений: 2

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'а никак не обойтись?
Ответить с цитированием