Để gỡ lỗi mã của tôi, tôi muốn xem truy vấn sql rõ ràng được thực hiện.Làm cách nào để xem các tham số trong truy vấn?
tôi tạo ra các truy vấn với createQueryBuilder
, và điều rõ ràng nhất mà tôi đạt được là có truy vấn liệu sử dụng:
$qb->getQuery()->getSQL();
Vấn đề là thay vì các thông số tôi thấy chủ sở hữu (?
). Tôi tìm thấy một số giải pháp trên web nhưng chúng dành cho 1,3 và 1,4, không có gì cho Symfony-2.
Ý tưởng? Cảm ơn!
Thực ra, câu hỏi của bạn trùng lặp với http://stackoverflow.com/q/2095394/795876 này. Doctrine đang sử dụng câu lệnh chuẩn bị, do đó không bao giờ có một truy vấn SQL "thực" ở phía PHP và Doctrine không thể hiển thị nó. Tuy nhiên, bạn có thể đọc giải pháp này http://stackoverflow.com/a/10577703/795876 cho mục đích gỡ lỗi của bạn. – fsenart
Ngoài ra, học thuyết 2 có lớp sqlLogger: http://doctrine-orm.readthedocs.org/en/2.0.x/reference/configuration.html#sql-logger-optional – manix
** fsehat ** - trông giống như giải pháp này là dành cho Symfony 1.4, tôi không thể tìm thấy trong toàn bộ dự án không phải là hàm 'getSqlQuery' hay' getFlattenedParams' (là hàm mà tôi đang thiếu). ** manix ** - bạn có tham khảo thêm tài liệu về cách sử dụng trình ghi nhật ký trong Symfony 2.x không? Nó trông giống như một giải pháp tốt nhưng tôi không tìm thấy bất kỳ tài liệu tốt. ** Cảm ơn cả hai! ** – guyaloni