जवाबों:
यदि आप किसी संग्रह से SQL क्वेरी चाहते हैं तो आपको इसे स्ट्रिंग के रूप में डालना होगा। बस (string)
अपने पहले से लिखे लॉगिंग कोड में जोड़ें।
Mage::log((string)$collection->getSelect(),null,'test.log',true);
जैसा कि फ्लाइंगमैन ने मुझे समझाया, उसके लिए धन्यवाद।
$collection->load($printQuery = false, $logQuery = false)
लोड करने के बाद क्वेरी को लॉग या प्रिंट करना महत्वपूर्ण है, क्योंकि beforeLoad
विधि में बहुत कुछ किया जा सकता है। तो पहला जवाब:
Mage::log((string)$collection->getSelect(),null,'test.log',true);
उपयोग किया जाना चाहिए AFTER load
कहा जाता है।
चरण 1:
$result_colletion = print_r($collection->getSelect());
Mage::log($$result_colletion, null, custom_collection.log,true);
चरण 2: उसके बाद Magento के एडमिन सेक्शन में लॉगिन करें और लॉग इन सेटिंग को सक्षम करें। कृपया नीचे देखे ।
सिस्टम> कॉन्फ़िगरेशन> डेवलपर> लॉग सेटिंग्स
चरण 3: उसके बाद var / log / फ़ोल्डर में लॉग फ़ाइल "custom_collection.log" देखें।
Mage::log($collection->getSelect()->__toString(), Zend_Log::DEBUG, 'test.log', true);
संपादित करें:
दूसरे पैरामीटर के रूप में उपयोग करने के लिए null
(कमबैक DEBUG
) के बजाय बेहतर इनमें से किसी एक का उपयोग करें Zend_Log
:
const EMERG = 0; // Emergency: system is unusable
const ALERT = 1; // Alert: action must be taken immediately
const CRIT = 2; // Critical: critical conditions
const ERR = 3; // Error: error conditions
const WARN = 4; // Warning: warning conditions
const NOTICE = 5; // Notice: normal but significant condition
const INFO = 6; // Informational: informational messages
const DEBUG = 7; // Debug: debug messages