Categories: Development

How to debug and view a Laravel DB query

How to view a raw Laravel database query from the DB facade with its bindings.

This is a good method to debug if your queries with the query builder are failing or getting unexpected results.

You must enable query logging with DB::enableQueryLog(); and then proceed with the query

DB::enableQueryLog();

$new_users = DB::table('users')
    ->where('created', '>=', '2022-03-01')
    ->orderBy('created', 'desc')
    ->get();

dd(DB::getQueryLog());

This will output

[
  {
    "query": "select * from `users` where `created` >= ? order by `created` desc",
    "bindings": [
      "2022-03-01"
    ],
    "time": 4.13
  }
]

Where you have the pure query with the pre-prepared statements and then the binding value/s, with the execution time to conclude.

The query logger works for all query types eg. INSERT, UPDATE, DELETE and SELECT however using it in a loop could overload memory.

Share

Recent Posts

Kennington reservoir drained drone images

A drained and empty Kennington reservoir images from a drone in early July 2024. The…

2 years ago

Merrimu Reservoir drone images

Merrimu Reservoir from drone. Click images to view larger.

2 years ago

Early September spring shots

Some early September spring shots from a bushwalk, It is still too early for wildflowers.

3 years ago

Cloning an NVMe to SK Hynix Platinum P41 NVMe

I recently needed to clone over a smaller NVMe to a 2TB SK Hynix Platinum…

3 years ago

Using Laravel’s deleteDirectory to delete folders and their contents

If you ever needed a simple solution in Laravel to delete an entire directory and…

3 years ago

How to allow only 1 user to register in a Laravel application

How to enforce only one user to register or be registered in a Laravel web…

3 years ago