Debug Laravel query with parameters
Dec 12, 2020
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'"