Respostas:
Se você quiser a consulta SQL de uma coleção, precisará convertê-la como sequência. Basta adicionar (string)
ao seu código de log escrito anteriormente.
Mage::log((string)$collection->getSelect(),null,'test.log',true);
Como Flyingmana me explicou, graças a ele.
$collection->load($printQuery = false, $logQuery = false)
É importante registrar ou imprimir a consulta após o carregamento, porque no beforeLoad
método muita coisa pode ser feita. Então a primeira resposta:
Mage::log((string)$collection->getSelect(),null,'test.log',true);
deve ser usado DEPOIS de load
ser chamado.
Passo 1:
$result_colletion = print_r($collection->getSelect());
Mage::log($$result_colletion, null, custom_collection.log,true);
Etapa 2: Depois disso, entre na seção de administração do Magento e ative a configuração de log. Por favor veja abaixo .
Sistema> Configuração> Desenvolvedor> Configurações de Log
Etapa 3: depois disso, consulte o arquivo de log “custom_collection.log” na pasta var / log /.
Mage::log($collection->getSelect()->__toString(), Zend_Log::DEBUG, 'test.log', true);
Editar:
Em vez de usar null
(fallback para DEBUG
) como segundo parâmetro, use melhor um destes 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