Debug Laravel query with parameters

This will apply for both Eloquent and Query Builder - DB

To debug your sql in Laravel you can you

$userQuery = User::where('email', 'example@email.com');dd($userQuery->toSql());

The result

"select * from `users` where `email` = ?"

To view full sql with parameter, use this piece of code

$userQuery = User::where('email', 'example@email.com');$fullQuery = vsprintf(str_replace('?', '%s', $userQuery->toSql()), 
collect($userQuery->getBindings())->map(function ($binding) {
return is_numeric($binding) ? $binding : "'{$binding}'";
})->toArray()
);

dd($fullQuery);

The result

"select * from `users` where `email` = 'example@email.com'"

--

--