2011-03-21 17 views
5

से एक इकाई प्राप्त करें मुझे कोई समस्या आ रही है क्योंकि मुझे यकीन है कि मैं अपने प्रोग्रामिंग के साथ यह सही तरीके से नहीं कर रहा हूं।
मैंने Magento में एक कस्टम मॉडल बनाया है।
मेरे मॉडल की डेटाबेस तालिका में एक ही विशेषता वाले कई इकाइयां हैं ...
मुझे इन सभी इकाइयों में से केवल एक ही विशेषता के साथ ही एक चुनना होगा।
पल मैं इस किया था के लिए:एक Magento मॉडल संग्रह

$myvariable = Mage::getModel('test/test')->getCollection() 
->setOrder('idserialkeys', 'asc') 
->addFilter('idproduit', 1) 
->addFilter('utilise', 0) 
->addFilter('customerid', 0) 
->addFilter('numcommande', 0) 

इस लोड हो रहा है मैं चारों ओर एक सौ परिणाम से लेकिन मैं इनमें से केवल एक अद्यतन करने की जरूरत है, तो बस के बाद मैं कर रहा हूँ:

->setPageSize(1); 

समस्या यह है कि मैं एक foreach जरूरत है मेरी इकाई

foreach($mavaribale as $modifiemoi) { 
    // Update of my entity because of course there is only one 
} 

अद्यतन करने के लिए के बाद आप देख सकते हैं मैं एक पाश (प्रत्येक के लिए) करने के लिए बाध्य कर रहा हूँ, भले ही है मैं setPagesize है ... मैं अपने कोड को अनुकूलित करने के लिए इस बेवकूफ पाश से बचना चाहता हूं।

अपने सुझाव के लिए धन्यवाद और आपका दिन शुभ हो,

Anselme

उत्तर

19

आप एक संग्रह है, और केवल आप एक तत्व की आवश्यकता है, getFirstItem विधि का उपयोग करें। इस प्रयास करें:

$modifiemoi = $myvariable->getFirstItem(); 

यह सुनिश्चित करें कि आप भी अपने setPageSize कॉल उपयोग करें ताकि आप केवल एक आइटम के लिए डेटा स्थानांतरित करें।

आशा है कि मदद करता है!

धन्यवाद, जो

+0

सामान्य यूसुफ के रूप में यह बहुत बहुत बहुत बहुत शुक्रिया :) – Anselme

+0

यह भी मेरे मामले में वास्तव में मददगार है में मदद करता है की तरह है:) धन्यवाद –

+0

setPageSize वास्तव में क्या करता है? – Pitt

11

सभी संग्रह Varien_Data_Collection वस्तुओं रहे हैं ताकि आप getFirstItem उपयोग कर सकते हैं:

$modifiemoi = $mavaribale->getFirstItem(); 
+0

मैं लिंक :) +1 –

+0

धन्यवाद के आपके उपयोग के लिए भी आपका जवाब – Anselme

संबंधित मुद्दे