News

Raw Query Output With Bindings is Coming to Laravel 10

Published
Raw Query Output With Bindings is Coming to Laravel 10 image

Laravel 10 is getting a long-awaited feature to get the raw SQL query, including bindings 🥳:

This feature will be part of the next tagged v10.x release, which usually happens weekly:

// Using the new `toRawSql()` method
User::where('email', 'foo@example.com')->toRawSql();
// "SELECT * FROM users WHERE email = 'foo@example.com'"

There is some prior art before toRawSql()—various developer tools (i.e., Laravel Debugbar) give you queries, and there's a dd() method you can use as well:

// Using the dd() method
User::where('email', 'foo@example.com')->dd();
// "SELECT * FROM users WHERE email = ?"
// [
// 0 => "foo@example.com"
// ]

The dd() feature is nice, and gives you everything you need. However, you have to manually copy/paste/insert the bindings if you want to re-run, explain, and otherwise debug the query. The new toRawSql() can help with that need to copy the query and run it directly in a database client.

Thanks to Tobias Petry, who contributed to this PR; he has also been contributing important database updates to Laravel. For example, he recently contributed escaping functionality within grammar which was released with Laravel 10.13.

For more details on the upcoming toRawSql() method, check out Pull Request #47507—this is a fantastic quality-of-life feature!

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Sponsored

serpapi logo
SerpApi

The Web Search API for Your LLM and AI Applications

Visit SerpApi

The latest

View all →
Tashil: Laravel Subscription Plans and Feature Usage Limits image

Tashil: Laravel Subscription Plans and Feature Usage Limits

Read article
Decide with Jev: Laravel AI That Answers with a Probability image

Decide with Jev: Laravel AI That Answers with a Probability

Read article
JetBrains Air: Run AI Coding Agents in JetBrains IDEs image

JetBrains Air: Run AI Coding Agents in JetBrains IDEs

Read article
Memoize Tagged Cache Reads in Laravel image

Memoize Tagged Cache Reads in Laravel

Read article
Eloquent Refreshes: Load Generated Columns After Save image

Eloquent Refreshes: Load Generated Columns After Save

Read article
Laravel AI SDK 1.0 Adds Classification and Tool Approvals image

Laravel AI SDK 1.0 Adds Classification and Tool Approvals

Read article