উত্তর:
আপনি যদি কোনও সংগ্রহ থেকে এসকিউএল কোয়েরি চান তবে আপনার এটি স্ট্রিং হিসাবে কাস্ট করতে হবে। (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);
পরে ব্যবহার করা উচিত load
বলা হয়।
ধাপ 1:
$result_colletion = print_r($collection->getSelect());
Mage::log($$result_colletion, null, custom_collection.log,true);
পদক্ষেপ 2: এর পরে ম্যাজেন্টো অ্যাডমিন বিভাগে লগইন করুন এবং সেটিং লগ করতে সক্ষম করুন। দয়া করে নীচে দেখুন .
সিস্টেম> কনফিগারেশন> বিকাশকারী> লগ সেটিংস
পদক্ষেপ 3: এর পরে var / লগ / ফোল্ডারে লাস্ট ফাইলটি “কাস্টম_কলোলেশন.লগ” দেখুন।
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