Laravel 中轻松容易的输出完整的 SQL 语句
laravel 中自带的查询构建方法 toSql 得到的 sql 语句并未绑定条件参数,类似于这样 select * from users where id = ?,所以写了个扩展包 laravel-dump-sql ,可以获取完整的 sql 语句。
源码
laravel-dump-sql - https://github.com/guanguans/laravel-dump-sql
安装
$ composer require guanguans/laravel-dump-sql -v
发布服务
$ php artisan vendor:publish --provider="Guanguans\\LaravelDumpSql\\ServiceProvider"
使用
安装成功后查询构建器会新增 toRawSql、dumpSql、ddSql 三个方法
// 获取 SQL
User::where('id', 1)->toRawSql();
DB::table('user')->where('id', 1)->toRawSql();
// 打印 SQL
User::where('id', 1)->dumpSql();
DB::table('user')->where('id', 1)->dumpSql();
// 打印 SQL 并退出
User::where('id', 1)->ddSql();
DB::table('user')->where('id', 1)->ddSql();
自定义方法名称
发布配置文件
$ php artisan vendor:publish --tag=laravel-dump-sql
config/dumpsql.php 文件中配置方法名称既可
return [
/*
* Get sql statement.
*/
'to_raw_sql' => 'toRawSql',
/*
* Print SQL statements.
*/
'dump_sql' => 'dumpSql',
/*
* Print SQL statements and exit.
*/
'dd_sql' => 'ddSql',
];
本文来自PHP中文网laravel教程的栏目:https://www.php.cn/phpkj/laravel/
网友评论