Given the following code:
DB::table('users')->get();
I want to get the raw SQL query string that the database query builder above will generate. In this example, it would be SELECT * FROM users
.
How do I do this?
Advertisement
Answer
To output to the screen the last queries ran you can use this:
DB::enableQueryLog(); // Enable query log // Your Eloquent query executed by using get() dd(DB::getQueryLog()); // Show results of log
I believe the most recent queries will be at the bottom of the array.
You will have something like that:
array(1) { [0]=> array(3) { ["query"]=> string(21) "select * from "users"" ["bindings"]=> array(0) { } ["time"]=> string(4) "0.92" } }
(Thanks to Joshua’s comment below.)