Andaikan anda sedang bekerja dengan Doktrin dan telah membuat pertanyaan seperti ini dengan teliti:
$q = Doctrine_Query::create()->select('id')->from('MyTable');
Sekarang, sambil anda memperhalusi pertanyaan anda dengan syarat, seperti:
$q->where('normalisedname = ? OR name = ?', array($string, $originalString));
Anda tidak sabar-sabar untuk memeriksa SQL mentah sebelum pelaksanaan. Jadi, anda hubungi:
$q->getSQLQuery();
Tetapi malangnya, ia bukan seperti yang anda harapkan - ia adalah pernyataan yang disediakan dengan tanda tanya. Anda ingin melihat apa yang akan dihantar ke pangkalan data.
Nah, inilah kebenarannya: Doktrin tidak menghantar SQL "sebenar" ke pelayan pangkalan data. Ia menggunakan pernyataan yang disediakan, proses tiga langkah:
Ini bermakna tidak pernah ada pertanyaan SQL "sebenar" di sisi PHP - jadi, Doktrin tidak dapat memaparkannya.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melihat Pertanyaan SQL \'Sebenar\' dalam Doktrin Apabila Ia Menggunakan Pernyataan yang Disediakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!