Pregunta

Quiero registrar la consulta SQL para una colección personalizada. Probé el siguiente código. Pero no funcionó. Cualquier sugerencia será apreciada.

Mage::log($collection->getSelect(),null,'test.log',true);
¿Fue útil?

Solución

Si desea la consulta SQL de una colección, debe lanzarla como cadena. Solo agrega (string) a su código de registro escrito anteriormente.

Mage::log((string)$collection->getSelect(),null,'test.log',true);

Otros consejos

Probar $Collection->printLogQuery(true); Esto imprimirá la consulta de colección.

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 El método se puede hacer muchas cosas. Entonces la primera respuesta:

Mage::log((string)$collection->getSelect(),null,'test.log',true);

debe usarse después load se llama.

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 Admin 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, consulte el archivo de registro "custom_collection.log" en var/ log/ carpeta.

Mage::log($collection->getSelect()->__toString(), Zend_Log::DEBUG, 'test.log', true);

Editar:

En lugar de usar null (Fuera de DEBUG) como segundo parámetro use mejor 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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top