Metin mesajları listesini ve iletiyi gönderen ilişkili kullanıcının adını görüntüleyen temel bir Sencha Touch uygulaması üzerinde çalışıyorum. Eğitmenleri model ilişkilerinin nasıl kurulacağı konusunda çevrimiçi olarak takip ettim, ancak her bir eğitim sunucunun iç içe geçmiş bir yapıya sahip veri ürettiğini varsayar.Sencha Touch ile ilişkili verileri yuvalama olmadan yükleme
Çalıştığım veriler birincil/yabancı anahtar ilişkilerine sahip düz bir yapıya sahiptir ve Sencha'nın her iki deposu tek bir yanıttan yüklemesini nasıl sağlayacağımı anlayamıyorum.
modeli/user.js
Ext.define('App.model.User', {
extend: 'Ext.data.Model',
config: {
fields: [
{ name: 'uid', type: 'number' },
{ name: 'name', type: 'string' },
]
}
});
mağaza/Users.js
Ext.define('App.store.Users', {
extend: 'Ext.data.Store',
config: {
model: 'App.model.User',
autoLoad: true,
}
});
modeli/Message.js
Ext.define('App.model.Message', {
extend: 'Ext.data.Model',
config: {
fields: [
{ name: 'id', type: 'number' },
{ name: 'uid', type: 'number' },
{ name: 'message', type: 'string' }
],
associations: [{
type: 'belongsTo',
model: 'App.model.User',
primaryKey: 'uid',
foreignKey: 'uid'
}],
proxy: {
type: 'jsonp',
url: 'messages.json',
reader: {
type: 'json',
rootProperty: 'req_messages'
}
}
}
});
mağaza/Messages.js
Ext.define('App.store.Messages', {
extend: 'Ext.data.Store',
config: {
model: 'App.model.Message',
autoLoad: true,
}
});
İletiler, uygulamam tarafından doğru şekilde yüklendi ve görüntülendi (aşağıdaki örnek JSON yanıtı), ancak ilişkili kullanıcıların mağazaya nasıl yükleneceğini anlayamıyorum. Bu bir yapılandırma ile çözülebilir mi yoksa özel bir okuyucuna mı ihtiyacım var? Herhangi bir yardım takdir!
Numune JSON
{
"users": [{
"uid": "1",
"name": "John"
}, {
"uid": "3033",
"name": "Noah"
}],
"req_messages": [{
"id": "539",
"uid": "1",
"message": "my message"
}, {
"id": "538",
"uid": "1",
"message": "whoops"
}, {
"id": "534",
"uid": "3033",
"message": "I love pandas."
}]
}
Çalışıyor musunuz? –