जब आप अपना मॉडल परिभाषित करते हैं, तो आपको नेस्टेड मॉडल के साथ आवश्यक सहयोग प्रदान करने की आवश्यकता होती है। चूंकि, आपने अपना कोड प्रदान नहीं किया है। यदि आप उत्पादों के साथ उपयोगकर्ता मॉडल का एक उदाहरण है,
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'
}
});
अब:
मेरे उत्पाद मॉडल::
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'
}
});
मेरे उपयोगकर्ता मॉडल यहाँ एक उदाहरण है।
var productStore = user.products();
ध्यान दें कि user.products()
रिटर्न एक Ext.data.Store
: आप निम्न तरीके से उत्पादों का उपयोग कर सकते है। अब, आप अपने उत्पाद रिकॉर्ड को ट्रैवर्स या फ़िल्टर या ढूंढ सकते हैं। यहां बताया गया है कि मुझे अपना पहला उत्पाद का नाम कैसे मिला:
productStore.getAt(0).get('name');
प्रिय अब्देल, क्या होगा यदि हम सर्वर से दूसरे अनुरोध के बिना घोंसला वाले ग्रिडपेनल बनाना चाहते हैं, तो क्या यह विधि संभव है? –
हाय ओगज़ Çelikdemir, सुनिश्चित नहीं है कि आपको इसकी आवश्यकता कैसे है, क्या आप समझा सकते हैं कि आप एक पंक्ति या कुछ विस्तार करना चाहते हैं? –
@ ओगुर आप एक जेसन में नेस्टेड डेटा प्राप्त कर सकते हैं और अपने associoation के लिए कई definiton में "relatedKey" निर्दिष्ट कर सकते हैं। –