Get Last Executed Query Using Laravel Tutorial

Feb 03, 2023 . Admin



Hi dev,

Let's take a quick look at an example utilising the Eloquent Get Query Log from Laravel 9. We'll demonstrate how to obtain a straightforward SQL query in Laravel in this article. This post includes a simple illustration of the Laravel 9 print last SQL query. This tutorial provides a clear example of a sophisticated print last query in Laravel 9.

In Laravel 9, I'll use toSql(), DB::enableQueryLog(), and DB::getQueryLog to print the most recent SQL query. I'll also display the results of the print sql query.

So, let's see the examples below and use them as you want anyone.

Example 1:
Controller Code:
<?php
  
namespace App\Http\Controllers;
  
use App\Models\User;
  
class UserController extends Controller
{
    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function redirectToGoogle()
    {
        $query = User::select("*")->toSql();
            
        dd($query);
    }
}	
Output:
select * from `users`	
Example 2: Controller Code:
<?php
  
namespace App\Http\Controllers;
   
use App\Models\User;
use DB;
    
class UserController extends Controller
{
    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function redirectToGoogle()
    {
        DB::enableQueryLog();
  
        $users = User::select("*")->get();
        $quries = DB::getQueryLog();
  
        dd($quries);
    }
}	
Output:
array:1 [▼

  0 => array:3 [▼

    "query" => "select * from `users`"

    "bindings" => []

    "time" => 4.25

  ]

]	
Example 3: Controller Code:
<?php
  
namespace App\Http\Controllers;
   
use App\Models\User;
use DB;
    
class UserController extends Controller
{
    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function redirectToGoogle()
    {
        DB::enableQueryLog();
            
        $users = User::select("*")->get();
        $query = DB::getQueryLog();
  
        $query = end($query);
  
        dd($query);
    }
}	
Output
array:3 [▼

  "query" => "select * from `users`"

  "bindings" => []

  "time" => 2.07

]	
I hope it can help you...
#Laravel