Когда вы определяете свою модель, вам необходимо обеспечить необходимую связь с вложенными моделями. Так как вы не предоставили свой код. Вот пример:
Моя модель продукта:
Product = Ext.define('Product',{
extend: 'Ext.data.Model',
fields: [
{name: 'id', type: 'int'},
{name: 'user_id', type: 'int'},
{name: 'name', type: 'string'},
{name: 'price', type: 'float'}
],
proxy: {
type: 'localstorage',
id: 'products'
}
});
Моя модель пользователя:
User = Ext.define('User',{
extend: 'Ext.data.Model',
fields: [
{name: 'id', type: 'int'},
{name: 'name', type: 'string'},
{name: 'gender', type: 'string'},
{name: 'username', type: 'string'}
],
associations: [
{type: 'hasMany', model: 'Product', name: 'products'}
],
proxy: {
type: 'localstorage',
id : 'users'
}
});
Теперь, если у вас есть экземпляр модели User с продуктами. Вот как вы можете получить доступ к продуктам:
var productStore = user.products();
Обратите внимание, что user.products()
возвращает Ext.data.Store
. Теперь вы можете пройти или отфильтровать или найти запись вашего продукта. Вот как я получил название моего первого продукта:
productStore.getAt(0).get('name');