Відповіді:
Якщо ви хочете, щоб SQL-запит із колекції був потрібний, він повинен бути переданий як рядок. Просто додайте (string)
до свого раніше написаного коду реєстрації.
Mage::log((string)$collection->getSelect(),null,'test.log',true);
Як мені пояснив Flyingmana, завдяки йому.
$collection->load($printQuery = false, $logQuery = false)
Важливо ввійти або надрукувати запит після завантаження, оскільки в beforeLoad
методі можна зробити багато чого. Тож перша відповідь:
Mage::log((string)$collection->getSelect(),null,'test.log',true);
слід використовувати ПІСЛЯ виклику load
.
Крок 1:
$result_colletion = print_r($collection->getSelect());
Mage::log($$result_colletion, null, custom_collection.log,true);
Крок 2: Після цього увійдіть у розділ адміністратора Magento та увімкніть налаштування журналу. Дивіться нижче .
Система> Конфігурація> Розробник> Налаштування журналу
Крок 3: Після цього перегляньте файл журналу “custom_collection.log” у var / log / folder.
Mage::log($collection->getSelect()->__toString(), Zend_Log::DEBUG, 'test.log', true);
Редагувати:
Замість використання null
(backback 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