回答:
フライングマナが私に説明したように、彼のおかげで。
$collection->load($printQuery = false, $logQuery = false)
このbeforeLoad
メソッドでは多くのことができるため、ロード後にクエリをログに記録または印刷することが重要です。だから最初の答え:
Mage::log((string)$collection->getSelect(),null,'test.log',true);
load
が呼び出された後に使用する必要があります。
Mage::log($collection->getSelect()->__toString(), Zend_Log::DEBUG, 'test.log', true);
編集:
2番目のパラメーターとして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