1

私は2つのモデルを持っています。主人 -

Ext.define('App.model.Master', {
   extend    : 'Ext.data.Model'

  ,fields    : [
    { name  : 'master_name', type  : 'string' },
    { name  : 'id', type  : 'int'}
  ]
  ,proxy    : {
    type  : 'rest',
    url    : '/master',
    reader    : {
      type  : 'json',
      root  : 'masters'
    }
  }
  ,associations  : [{
    type      : 'hasMany'
    id        : 'id',
    foreignKey    : 'master_id',
    associationKey  : 'details',
    name      : 'details',
    model      : 'App.model.Detail',
  }]
});

と詳細 -

Ext.define('App.model.Detail', {
  extend    : 'Ext.data.Model'
  fields    : [
    { name  : 'detail_name', type  : 'string' },
    { name  : 'id', type  : 'int' },
    {name  : 'master_id', type  : 'string'}
  ]
});

私の問題は、新しいマスター レコードを追加すると、サーバーに自動的に追加される詳細があることです。そして、私が得る応答は -

{
  success : true,
  masters : {
    master_name  : 'aaa',
    id      : 1,
    details    : [
      {
        detail_name  : 'bbb',
        id      : 11,
        master_id  : 1
      }
    ]
  }
}

あらゆる努力にもかかわらず、応答がマスター ストアに追加されると、「詳細」を読み取ることができません。「record.details()」は、マスターの追加時に返された 1 つのレコードを提供すると思いますが、何も得られません。

ただし、ストアをリロードすると、データを正しく取得できます。

Store.add() でネストされた応答も読み取れるようにする必要があります。

どんな助けでも大歓迎です。

4

0 に答える 0