教你在Laravel中轻松容易的输出完整的SQL语句

2020-08-13 16:11:34
下面由Laravel教程栏目给大家介绍Laravel中轻松容易的输出完整的SQL语句的方法,希望对需要的朋友有所帮助!


laravel 中自带的查询构建方法 toSql 得到的 sql 语句并未绑定条件参数,类似于这样 select * fromuserswhereid= ?,所以写了个扩展包 laravel-dump-sql ,可以获取完整的 sql 语句。

源码

laravel-dump-sql - github.com/guanguans/laravel-dump-...

安装

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

发布服务

$ php artisan vendor:publish --provider="GuanguansLaravelDumpSqlServiceProvider"

使用

安装成功后查询构建器会新增 toRawSqldumpSqlddSql 三个方法

// 获取 SQLUser::where('id', 1)->toRawSql();DB::table('user')->where('id', 1)->toRawSql();// 打印 SQLUser::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 文件中配置方法名称既可

<?phpreturn [    /*     * Get sql statement.     */    'to_raw_sql' => 'Your favorite method name',    /*     * Print SQL statements.     */    'dump_sql' => 'Your favorite method name',    /*     * Print SQL statements and exit.     */    'dd_sql' => 'Your favorite method name',];