ExtJS4でhasMany
の関係で '入れ子'データをロードしようとしています。 私のモデルは次のようになります。ExtJSに多数のデータをロードする
Ext.define("Entrypage.model.Entrypage",{
extend: "Ext.data.Model",
fields: ['id','title','urlkey','text','picture','keywords', 'searchterms','description','critriamodus'],
hasMany: {model: 'EntrypageCriterium',name:'brands'},
proxy: {
type: 'ajax',
url: '/Admin/extjson/entrypages',
reader: {type:'json', root:'entrypages'}
}
});
そしてEntrypageCriterium
:
Ext.define("Entrypage.model.EntrypageCriterium",{
extend: "Ext.data.Model",
fields: ['id','type','title']
});
を私はそうのように私のデータをロードする:それは結構ロード
Entrypage.load("nikon-coolpix",{success:function(record,options,success){
console.log(record);
}});
。 Jsonはこれを返します:
{
"success": true,
"entrypages":[{
"id":"1",
"urlkey":"nikon-coolpix",
"title":"Nikon Coolpix",
"text":"Some blahblah about Nikon",
"keywords":"nikon,coolpix,digitale,camera",
"description":"Nikon Coolpix camera's",
"picture":"Nikon Coolpix camera's",
"searchterms":"nikon coolpix",
"language":"nl",
"brands":[
{"id":27038,"title":"Nikon","type":"brand"}
]
}]
}
しかし、私はrecord.brands()
やそのようなものを試してみます。そのような方法は存在しないと言います。 モデルのデータをマッピングする際に問題が起こっていると思います。
助けていただければ幸いです。
ありがとうございます。私は自分自身で同じ状況を理解しましたが、それはやりにくいものでした。 –
モデルは完全修飾されていましたか?または実際にassociationKeyを追加する修正プログラムですか? – tommyO