2011-06-03 75 views
1

我使用Sencha Touch在列表模板中顯示嵌套(關聯)模型數據,但我只能獲取顯示的根模型數據。我的模型是屬於客戶的預約,客戶有許多預約。我的模型代碼:在Sencha Touch中顯示嵌套模型數據的問題XTemplate

Customer = Ext.regModel('Customer', { 
hasMany: { model: 'Appointments', name: 'appointments' }, 
fields: [ 
    { name: 'id', type: 'integer' }, 
    { name: 'firstName', type: 'string' }, 
    { name: 'lastName', type: 'string' }, 
    { name: 'email', type: 'string' }, 
    { name: 'secondary_email', type: 'string' }, 
    { name: 'homePhone', type: 'string' }, 
    { name: 'mobilePhone', type: 'string' }, 
    { name: 'dob', type: 'date', dateFormat: 'Y-m-d' }, 
    { name: 'allowLogin', type: 'boolean' }, 
    { name: 'emailReminders', type: 'boolean' }, 
    { name: 'reminders_to_stylist', type: 'boolean' }, 
    { name: 'fullName', 
    convert: function(value, record) { 
     var fn = record.get('firstName'); 
     var ln = record.get('lastName'); 
     return fn + " " + ln; 
    } } 
] 
}); 

Appointment = Ext.regModel('Appointment', { 
belongsTo: { model: 'Customer', name: 'customer' }, 
fields: [ 
    { name: 'id', type: 'string' }, 
    { name: 'startTime', type: 'date', dateFormat: 'c' }, 
    { name: 'customer_id', type: 'integer' }, 
    { name: 'startTimeShort', 
    convert: function(value, record) { 
     return record.get('startTime').shortTime(); 
    } 
    }, 
    { name: 'endTimeShort', 
    convert: function(value, record) { 
     return record.get('endTime').shortTime(); 
    } 
    }, 
    { name: 'endTime', type: 'date', dateFormat: 'c' } 
] 
}); 

並使用的xtype我的面板:名單看起來像:

var jsonPanel = { 
title: "Appointments", 
items: [ 
    { 
    xtype: 'list', 
    store: appointmentStore, 
    itemTpl: '<tpl for="."><span id="{id}">{startTimeShort} - {endTimeShort} <tpl for="customer"><span class="customer">{firstName}</span></tpl></span></tpl>', 
    singleSelect: true, 
    onItemDisclosure: function(record, btn, index) { 
     Ext.Msg.alert('test'); 
    } 
    } 
] 
}; 

嵌套的數據會從JSON加載並似乎正確加載進店 - 當我調試約會存儲對象從Appointment模型中加載,我看到appointment.data.items數組對象具有CustomerBelongsToInstance對象,並且該對象的數據對象包含正確的模型數據。 startTime和endTime字段在列表中正確顯示。

我懷疑我要麼沒有正確使用項目模板標記,要麼可能存在一些奇怪的依賴關係,我必須從具有「擁有多個」關聯的模型開始,而不是「屬於「如廚房水槽演示中所示。

我無法找到任何使用這種類型的關聯的例子,所以任何幫助表示讚賞。

回答

1

看起來像您的客戶hasmany協會正在分配約會時,它應該是約會,這是該模型的名稱。

相關問題