LaravelPackages.net
Acme Inc.
Toggle sidebar
socialblue/laravel-query-adviser

With Laravel Query Adviser you can get more insights into the SQL queries created by Eloquent models used in your app. It logs the queries used by your application and provides a helpful overview of the SQL queries. You can rerun the SQL query to analyze the database impact or copy the SQL query to your clipboard. The handy card view allows you to quickly point out the pain points of your application's SQL queries.

3.722
20
3.3.2
About socialblue/laravel-query-adviser

socialblue/laravel-query-adviser is a Laravel package for with laravel query adviser you can get more insights into the sql queries created by eloquent models used in your app. it logs the queries used by your application and provides a helpful overview of the sql queries. you can rerun the sql query to analyze the database impact or copy the sql query to your clipboard. the handy card view allows you to quickly point out the pain points of your application's sql queries.. It currently has 20 GitHub stars and 3.722 downloads on Packagist (latest version 3.3.2). Install it with composer require socialblue/laravel-query-adviser. Discover more Laravel packages by socialblue or browse all Laravel packages to compare alternatives.

Last updated

Laravel-Query-Adviser

Latest Version on Packagist Quality Score Total Downloads

With Laravel Query Adviser you can get more insights into the SQL queries created by Eloquent models used in your app. It logs the queries used by your application and provides a helpful overview of the SQL queries. You can rerun the SQL query to analyze the database impact or copy the SQL query to your clipboard. The handy card view allows you to quickly point out the pain points of your application's SQL queries.

Features

| Query Logging | Web app | Chrome DevTool | Code | |------------------|-------------------|---------------------------|---------------------------| | Use cache driver | | | | | Eloquent Queries | | | | | Routes | | | | | Stack trace | | | | | Tinker Support | | | | | Job Support | | | | | MySql Support | | | | | | Start session | Start Session | | | | Stop session | Stop Session | | | | Export Session | | | | | Import Session | | | | | Query Grouping | | | | | Query Ordering | | | | | Explain Query | | | | | Re-execute Query | | | | | Copy to clipboard | | | | | | Show realtime query usage | | | | | | dd query builder query | | | | | dump query builder query | | | | | dd eloquent model query | | | | | dump eloquent model query |

Installation

You can install the package via composer:

composer require socialblue/laravel-query-adviser --dev

Publish Laravel-Query-Adviser

php artisan vendor:publish --provider="Socialblue\LaravelQueryAdviser\LaravelQueryAdviserServiceProvider"

Publish the front-end application after updating

php artisan vendor:publish --tag=public --force

When updating from 0.13.2 to 0.14.0 please use

php artisan vendor:publish --provider="Socialblue\LaravelQueryAdviser\LaravelQueryAdviserServiceProvider" --force

Install Chrome developer tool

When you want to be able to start and stop the log sessions and see realtime query information from your current browser tab. You can install the Chrome developer tool in the Chrome web store.

Extension

Usage

Output queries inline

Dump and die

User::join('posts', 'posts.users_id', '=', 'users.id')
->select([DB::raw('SUM(posts.id)')])
->where('users.id', 1)
->select([DB::raw('SUM(post.id)')])->qadd();

or just dump


User::join('posts', 'posts.users_id', '=', 'users.id')
->select([DB::raw('SUM(posts.id)')])
->where('users.id', 1)
->select([DB::raw('SUM(post.id)')])->qadump();

both dump this array

[
   'toSql' => 'select sum(posts.id) from users join posts on posts.users_id = users.id where users.id = ?'
   'bindings' => [1]
   'query' => 'select sum(posts.id) from users join posts on posts.users_id = users.id where users.id = 1'
]

Start query logging session

  1. To start a query log session goto {app_url}/query-adviser/
  2. Press play and open the pages of your app you want to log the queries of
  3. Stop the session and click on the session bar to see all the details.

Session stepper

Query Overview

Session list

Query Overview

Brows through session overview

Query time-line

collapse and expand the panels for less or more information about the queries executed in that time frame. Query Overview

Groups

You can group the queries by time, routes and rawQuery. Also you can clear the cached queries by pressing the eject button.

group by time, routes, referer, raw queries, queries with bindings, and query time Query groups

Sort

Sort the time line by last inserted, slowest query, and most occurrences Query Card

Query card

Re-execute a query, get query information, and copy the query to your clipboard Query Card

Query labels

As of version 0.10.0, the query card has labels related to the class, file and function of the query executed from your app folder.

File Information Query labels

Open the explain dialog to see more information about the query.

Query information Query Card

Re-execute Query Query Card

Testing

composer test

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

Laravel Package Boilerplate

This package was generated using the Laravel Package Boilerplate.

Star History Chart