guanguans/laravel-dump-sql - 在 laravel 中轻松容易的输入残缺的 sql 语句。

laravel 中查问构造方法失去的 sql 语句没有绑定条件参数,相似于select * from users where id= ?。这个扩大包可辅助你获取残缺的 sql 语句。

User::query()->where('id', 1)->dd(); // 自带办法 `dd` 的打印后果

User::query()->where('id', 1)->ddSql(); // 新增办法 `ddSql` 的打印后果

环境要求

  • laravel || lumen >= 5.5

装置

$ composer require guanguans/laravel-dump-sql -v

lumen 中配置(laravel 中请疏忽)

将上面代码增加到 bootstrap/app.php 文件中的 Register Service Providers 局部

$app->register(\Guanguans\LaravelDumpSql\ServiceProvider::class);

应用

装置配置结束后数据库查问构造方法会新增以下几个办法:

  • toRawSql() - 获取残缺的 sql
  • dumpSql() - 打印残缺的 sql
  • ddSql() - 打印残缺的 sql 并且退出
  • logListenedSql() - 记录被监听到的 sql
  • dumpListenedSql() - 打印被监听到的 sql
  • ddListenedSql() - 打印被监听到的 sql 并且退出

toRawSql() - 获取残缺的 sql

$sql = User::query()->where('id', 1)->toRawSql();dd($sql);
"select * from `xb_users` where `id` = 1"

dumpSql() - 打印残缺的 sql

User::query()->where('id', 1)->dumpSql();User::query()->where('id', 2)->dumpSql();
"select * from `xb_users` where `id` = 1""select * from `xb_users` where `id` = 2"

ddSql() - 打印残缺的 sql 并且退出

User::query()->where('id', 1)->ddSql();User::query()->where('id', 2)->ddSql();
"select * from `xb_users` where `id` = 1"

logListenedSql() - 记录被监听到的 sql

User::query()->where('id', 1)->logListenedSql()->first();User::query()->where('id', 2)->first();
# 日志中[Laravel] [39.97ms] select * from `xb_users` where `id` = '1' limit 1 | GET: /[Laravel] [39.93ms] select * from `xb_users` where `id` = '2' limit 1 | GET: /

dumpListenedSql() - 打印被监听到的 sql

User::query()->where('id', 1)->dumpListenedSql()->first();User::query()->where('id', 2)->first();
[Laravel] [39.97ms] select * from `xb_users` where `id` = '1' limit 1 | GET: /[Laravel] [39.93ms] select * from `xb_users` where `id` = '2' limit 1 | GET: /

ddListenedSql() - 打印被监听到的 sql 并且退出

User::query()->where('id', 1)->ddListenedSql()->first();User::query()->where('id', 2)->first();
[Laravel] [39.97ms] select * from `xb_users` where `id` = '1' limit 1 | GET: /

参考我的项目

  • https://github.com/overtrue/laravel-query-logger