socialblue/laravel-query-adviser

使用 Laravel Query Adviser,您可以更深入地了解您的应用程序中使用的 Eloquent 模型创建的 SQL 查询。它记录了应用程序使用的查询,并提供了 SQL 查询的有帮助概述。您可以重新运行 SQL 查询以分析数据库影响或将 SQL 查询复制到


README

Latest Version on Packagist Quality Score Total Downloads

特性

安装

您可以通过 composer 安装此包

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

发布 Laravel-Query-Adviser

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

更新后发布前端应用程序

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

0.13.2 更新到 0.14.0 时,请使用

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

安装 Chrome 开发者工具

当您想要能够从当前的浏览器标签开始和停止日志会话,并查看实时查询信息时,您可以在 Chrome 网上应用店 中安装 Chrome 开发者工具。

Extension

用法

内联输出查询

导出并退出

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();

或只是导出

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();

两者都导出此数组

[
   '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'
]

开始查询日志会话

  1. 要开始查询日志会话,请转到 {app_url}/query-adviser/
  2. 按下播放并打开您想要记录查询的应用程序页面
  3. 停止会话并点击会话栏以查看所有详细信息。

会话步进器

Query Overview

会话列表

Query Overview

浏览会话概述

查询时间线

折叠和展开面板以显示或隐藏该时间框架内执行的查询的详细信息。 查询概述

您可以根据时间、路由和原始查询对查询进行分组。您还可以通过按弹出按钮来清除缓存的查询。

按时间、路由、来源、原始查询、带有绑定和查询时间分组 查询组

排序

按最后插入、最慢查询和出现次数最多的查询对时间线进行排序 查询卡

查询卡

重新执行查询、获取查询信息并将查询复制到您的剪贴板 查询卡

查询标签

自 0.10.0 版本起,查询卡具有与查询执行时的应用程序文件夹中的类、文件和函数相关的标签。

文件信息 查询标签

打开解释对话框以查看关于查询的更多信息。

查询信息 查询卡

重新执行查询 查询卡

测试

composer test

贡献

请参阅CONTRIBUTING以获取详细信息。

安全

如果您发现任何与安全相关的问题,请发送电子邮件至mark.broersen@outlook.com,而不是使用问题跟踪器。

致谢

许可协议

MIT 许可协议 (MIT)。有关更多信息,请参阅许可文件

Laravel 包模板

此包是使用Laravel 包模板生成的。