Estoy tratando de cargar datos 'anidados' en una relación hasMany
en ExtJS4. Mi modelo es el siguiente:Cargando hasMany datos en 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'}
}
});
Y EntrypageCriterium
:
Ext.define("Entrypage.model.EntrypageCriterium",{
extend: "Ext.data.Model",
fields: ['id','type','title']
});
cargo mis datos de este modo:
Entrypage.load("nikon-coolpix",{success:function(record,options,success){
console.log(record);
}});
Se carga bien. JSON vuelve este:
{
"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"}
]
}]
}
Pero cuando intento record.brands()
ni nada de eso. Dice que no existe tal método. Creo que algo va mal al mapear los datos en el modelo.
¡Cualquier ayuda sería muy apreciada!
Gracias. He averiguado la misma situación yo mismo, pero fue difícil de hacer. –
¿Era la solución lo que hacía que el modelo fuera totalmente calificado? o fue la solución realmente agregando la associationKey? – tommyO