Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengakses Pertanyaan SQL Mentah daripada Pembina Pertanyaan Pangkalan Data Laravel?

Bagaimanakah Saya Boleh Mengakses Pertanyaan SQL Mentah daripada Pembina Pertanyaan Pangkalan Data Laravel?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-18 04:16:09229semak imbas

How Can I Access the Raw SQL Query from Laravel's Database Query Builder?

Akses pertanyaan SQL mentah daripada pembina pertanyaan pangkalan data

Pembina pertanyaan pangkalan data Laravel menyediakan cara yang mudah untuk membina pertanyaan SQL. Walau bagaimanapun, ia mungkin berguna untuk mendapatkan rentetan pertanyaan SQL mentah yang akan dihasilkannya. Ini berguna untuk menyelesaikan masalah atau membuat pertanyaan vendor-agnostik.

Gunakan kaedah toSql()

Untuk mendapatkan pertanyaan SQL mentah, gunakan kaedah toSql() pada contoh QueryBuilder. Contohnya:

<code class="language-php">$query = DB::table('users');
$sql = $query->toSql();</code>

Ini akan mengembalikan rentetan pertanyaan SQL mentah, contohnya:

<code class="language-sql">select * from `users`</code>

Kelebihan berbanding pendengar acara

Sebelum ini, disyorkan untuk menggunakan pendengar acara untuk menangkap pertanyaan SQL mentah. Walau bagaimanapun, kaedah toSql() adalah lebih mudah dan mengelakkan keperluan untuk menyambungkan pendengar acara. Ia juga membolehkan anda menyemak rupa pertanyaan anda pada mana-mana peringkat pembinaannya.

Penghadan

Sila ambil perhatian bahawa kaedah toSql() tidak melaksanakan pertanyaan. Jika anda perlu menjalankan pertanyaan dan mendapatkan SQL, anda tidak boleh menggunakan kaedah ini.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Pertanyaan SQL Mentah daripada Pembina Pertanyaan Pangkalan Data Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn