Câu trả lời:
Nếu bạn muốn truy vấn SQL từ một bộ sưu tập, bạn cần truyền nó thành chuỗi. Chỉ cần thêm (string)
vào mã đăng nhập trước đây của bạn.
Mage::log((string)$collection->getSelect(),null,'test.log',true);
Như Flyingmana đã giải thích cho tôi, nhờ anh ấy.
$collection->load($printQuery = false, $logQuery = false)
Điều quan trọng là phải ghi nhật ký hoặc in truy vấn sau khi tải, bởi vì trong beforeLoad
phương thức có thể thực hiện được nhiều việc. Vì vậy, câu trả lời đầu tiên:
Mage::log((string)$collection->getSelect(),null,'test.log',true);
nên được sử dụng SAU load
được gọi.
Bước 1:
$result_colletion = print_r($collection->getSelect());
Mage::log($$result_colletion, null, custom_collection.log,true);
Bước 2: Sau đó Đăng nhập vào phần quản trị Magento và kích hoạt cài đặt nhật ký. Vui lòng xem bên dưới .
Hệ thống> Cấu hình> Nhà phát triển> Cài đặt nhật ký
Bước 3: Sau đó, xem tập tin nhật ký tập tin Custom_collection.log, trong thư mục var / log /.
Mage::log($collection->getSelect()->__toString(), Zend_Log::DEBUG, 'test.log', true);
Biên tập:
Thay vì sử dụng null
(dự phòng DEBUG
) như tham số thứ hai, tốt hơn là sử dụng một trong số này từ 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