چطور می توان گزارش SQL که Query Builder لاراول آن را ایجاد می کند مشاهده کرد؟

کد زیر را در نظر بگیرید:

DB::table('users')->get();

من می خوام کد SQL که Query Builder بالا اجرا می کند را دریافت کنم به عنوان مثال در کد بالا کد SQL:

SELECT * FROM users

توسط Query builder اجرا می شود.

0
مسعود پرسیده شده در ۱۸ اردیبهشت ۱۳۹۸
16 سوال
0 پاسخ
4امتیاز
Share in:
1 پاسخ

می توانید از متد ()toSql روی نمونه QueryBuilder استفاده کنید. به طور مثال کد زیر:

DB::table('users')->toSql()

Query زیر را بر می گرداند:

select * from `users`

البته این روش مقادیر Bind شده را شامل نمی شود و می توانیم به صورت زیر لاگ را چک کنیم:

dd(DB::getQueryLog());

نتیجه تابع بالا به صورت زیر خواهد بود:

array(1) {
  [0]=>
  array(3) {
    ["query"]=>
    string(21) "select * from "users""
    ["bindings"]=>
    array(0) {
    }
    ["time"]=>
    string(4) "0.92"
  }
}

البته برای مشاهده لاگ باید آن را با استفاده از کد زیر فعال کنیم:

DB::enableQueryLog();

 

0
دانیال
پاسخ داده در ۲۰ اردیبهشت ۱۳۹۸
0 سوال
50 پاسخ
27امتیاز
پاسخ شماپاسخ شما با موفقیت ثبت شد.پاسخی وارد نشده است.

ارسال پاسخ