Respuestas:
Si desea la consulta SQL de una colección, debe convertirla como una cadena. Simplemente agregue (string)
a su código de registro previamente escrito.
Mage::log((string)$collection->getSelect(),null,'test.log',true);
Como Flyingmana me explicó, gracias a él.
$collection->load($printQuery = false, $logQuery = false)
Es importante registrar o imprimir la consulta después de la carga, porque en el beforeLoad
método se pueden hacer muchas cosas. Entonces la primera respuesta:
Mage::log((string)$collection->getSelect(),null,'test.log',true);
debe usarse DESPUÉS de que load
se llame.
Paso 1:
$result_colletion = print_r($collection->getSelect());
Mage::log($$result_colletion, null, custom_collection.log,true);
Paso 2: Después de eso, inicie sesión en la sección de administración de Magento y habilite la configuración de registro. Por favor ver más abajo .
Sistema> Configuración> Desarrollador> Configuración de registro
Paso 3: Después de eso, vea el archivo de registro "custom_collection.log" en la carpeta var / log /.
Mage::log($collection->getSelect()->__toString(), Zend_Log::DEBUG, 'test.log', true);
Editar:
En lugar de usar null
( recurrir a DEBUG
) como segundo parámetro, mejor use uno de estos de 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