Hoàn thành câu trả lời được chấp nhận, bạn có thể sử dụng mã tiếp theo sau đó thực hiện truy vấn.
\Propel::getConnection()->getLastExecutedQuery() // Returns fully qualified SQL
Nó cho phép bạn xem các đầy đủ truy vấn (bao gồm cột chọn và các thông số lấy) mà đã được gửi đến cơ sở dữ liệu.
UPD: (như đã đề cập bởi @bbird)
Lệnh này sẽ không ra bất cứ điều gì trừ khi useDebug
là true
:
\Propel::getConnection()->useDebug(true);
UPD2: (nếu bạn đang sử dụng Symfony framework)
hơn Một điều đáng nói là PropelORM + Symfony.
Nếu bạn cần theo dõi SQL, có thể sử dụng nhật ký. Propel có kênh monolog riêng có tên là propel
và các truy vấn đủ điều kiện được ghi lại với DEBUG
cấp nhật ký trên kênh có liên quan (propel.DEBUG
).
Log ghi/truy vấn như sau:
[2016-10-04 17:00:46] propel.DEBUG: time: 0.000 sec | mem: 24.8 MB | connection: default | SELECT `id`, `username`, `email`, `last_login` FROM `users` WHERE `id` = 123 [] []
Nguồn
2014-10-17 11:00:52
Vì vậy, đơn giản ... :) – twigmac
Lưu ý rằng bạn sẽ không nhận cột select' cụ 'trong các truy vấn trên - Propel nào đó ngay trước khi tìm . Vì vậy, bạn phải thấy một cái gì đó như: 'SELECT FROM book WHERE id =: p1; ...: p1 => 25' – jakerella
@jakerella: bạn có thể mở rộng trên đó trong câu trả lời không? Tôi không chắc chắn làm cho nó rõ ràng làm thế nào để làm những gì bạn đang đề xuất. – halfer