답변:
Flyingmana가 나에게 설명했듯이, 그 덕분에.
$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);
편집하다:
두 번째 매개 변수로 null
(fallback to 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