How To Convert Laravel Query To SQL Query

Websolutionstuff | Oct-27-2022 | Categories : Laravel MySQL

In this article, we will see how to convert a laravel query to an SQL query. Many times we required laravel query builder to its raw SQL query as a string. Laravel provides different ways to get raw SQL queries. You can get SQL queries using the toSql() query builder method. Also, you can use the laravel query log to get SQL queries in laravel. For getting the query logs we will use enableQueryLog() method.

 So, let's see how to get the raw SQL query from a laravel.

The toSql() Function:

In this example, we will use the toSql() method to get raw SQL queries. toSql() get the SQL representation of the query and return the string value. This method doesn't show the whole query if your query is more complex or if there are sub-queries.

SQL Query Example:

SELECT * FROM articles WHERE status='published';

Laravel Query Example:

$articles = Article::where('status', 'published')->get();

Use the toSql() method, you can just change the get() part in the above query with toSql().

$article = Article::where('status', 'published')->toSql();

Output:

"select * from `articles` where `status` = ?"

 

 

The enableQueryLog() Function:

Laravel can optionally log into the memory of all queries that have been run for the current request. You can enable the log using the enableQueryLog() method.

public function store(Request $request){
    \DB::enableQueryLog();

    Post::where('is_active', '=', '1')        
    ->orderBy('publish_date', 'desc')
    ->limit(15)
    ->get();

    dd(\DB::getQueryLog());
}

Output:

array:1 [▼
  0 => array:3 [▼
    "query" => "select * from `posts` where `is_active` = ? order by `publish_date` desc limit 15"
    "bindings" => array:1 [▶]
    "time" => 7.03
  ]
]

So, you can get out in array format with the query and execution time of the query.

\DB::enableQueryLog(); // Enable query log

// Your Eloquent query executed by using get()

dd(\DB::getQueryLog()); // Show results of log

 


You might also like:

Recommended Post
Featured Post
How To Validate Multi Step Form Using jQuery
How To Validate Multi Step For...

In this article, we will see how to validate multi step form wizard using jquery. Here, we will learn to validate t...

Read More

Jan-27-2023

How to Create Login and Registration in Laravel 11
How to Create Login and Regist...

Hello developers! In this guide, We'll see how to create a login and registration page in laravel 11 using the larav...

Read More

Apr-15-2024

Laravel 11 Livewire Datatable Example
Laravel 11 Livewire Datatable...

Hello, laravel web developers! In this article, we'll see how to create datatable in laravel 11 livewire using medic...

Read More

Jun-05-2024

Top 12 Tips To Improve React JS Performance In 2023
Top 12 Tips To Improve React J...

In the dynamic world of web development, staying ahead of the curve is essential, and in 2023, React JS continues to be...

Read More

Aug-28-2023