उद्धरण वस्तु लोड करने में असमर्थ


24

क्या sales/quoteवस्तु लोड होने पर अन्य वस्तुओं की तुलना में अलग तरह से काम करती है? निम्नलिखित देखें ..

काम करता है:

$quote = Mage::getModel('sales/quote')->getCollection()
    ->addFieldToFilter('entity_id', $quoteId)
    ->getFirstItem();
print_r($quote->getData()); // shows right data

काम नहीं करता:

$quote = Mage::getModel('sales/quote')->load($quoteId);
print_r($quote->getData()); // empty

दोनों $quote, वर्ग का सही से कर रहे हैं Mage_Sales_Model_Quote


5 अपवोट्स के साथ मुझे समझ में नहीं आता है कि इस प्रश्न को ऑफ-टॉपिक और गैर-प्रतिलिपि प्रस्तुत करने योग्य के रूप में कैसे चिह्नित किया जाता है। इस समस्या को पुन: पेश किया जा सकता है। बस फ्रंटएंड ऑर्डर व्यू पेज पर एक उद्धरण लोड करें और एडमिन ऑर्डर व्यू पेज पर, यह अलग तरह से काम करेगा। इस परिदृश्य में पूरी तरह से काम करता है।
रीना पारेख

जवाबों:


29

पहले दुकान सेट करें:

$store = Mage::getSingleton('core/store')->load(1);

$quote = Mage::getModel('sales/quote')->setStore($store)->load($quoteId);

2

नहींं, Mage_Sales_Model_Quoteअन्य सभी डीबी आधारित मॉडलों की तरह है। आप कुछ गलत करते हैं। शायद हार्डकोड $quoteId? क्या आप सुनिश्चित हैं कि यह सही है? दोनों कोड काम करना चाहिए।


हाँ, मैंने इसके स्थान पर पूर्णांक का उपयोग करने की कोशिश की है $quoteId। मुझे लगता है कि शायद $quoteIdएक स्ट्रिंग या कुछ और होने की आवश्यकता है। मेरी स्क्रिप्ट अभी चल रही है, इसलिए मैं कल जांच करूंगा।
म्यूजिकलिफ्टमे

हम्म, यह एक और उदाहरण पर काम नहीं करता है, या तो, स्ट्रिंग या पूर्णांक में हार्ड-कॉर्ड आईडी इकाई आईडी के साथ। फैबियन, क्या आपने मेरे द्वारा पोस्ट किए गए कोड के टुकड़े की कोशिश की है?
म्यूज़िकलिफ्टमे

1
जबकि मॉडल अन्य डीबी मॉडल की तरह है, संसाधन मॉडल Mage_Sales_Model_Resource_Quote स्टोर आईडी पर हार्डकोड फिल्टर (_getLoadSelect) द्वारा लागू करता है। इसका उपयोग करने का तरीका है Mage::getResourceSingleton('sales/quote')->loadByIdWithoutStore($quote, $order->getQuoteId())। अब अगर केवल मैं इसे एक पूर्ण ग्राहक वस्तु लोड नहीं करने और एक सत्र शुरू करने के लिए कह सकता हूं, तो मैं एक खुश टूरिस्ट हूं।
मेल्विन

3
किसी का भी सामना करना पड़ रहा है: यह SalesRule / Model / Observer.php है जो बोली आइटम लोड पर एक सत्र को तत्काल जारी करता है। सिर्फ customerGroupId को पाने के लिए। मैंने Sales_Model_Quote को फिर से लिखना और Mage में ग्राहक समूह आईडी की स्थापना करके इसे हल किया है :: रजिस्ट्री और शिक्षण Mage_SalesRule_Model_Observer-> addProductAttributes को पहले देखने के लिए।
मेल्विन

2
बस यही देखा। मैंने दोबारा खोलने के लिए मतदान किया। धन्यवाद मेल्विन।
म्यूजिकलिफ्टमे

0

आप उपयोग कर सकते हैं

$quote = Mage::getModel('sales/quote')->loadByIdWithoutStore($quoteId);

यह मैग्नेटो एंटरप्राइज वेर में काम करता है। 1.14.2.4

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.