laravel 中自带的查询构建方法toSql
得到的 sql 语句并未绑定条件参数,类似于这样select * from
userswhere
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
三个方法
// 获取 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' => 'toRawSql', /* * Print SQL statements. */ 'dump_sql' => 'dumpSql', /* * Print SQL statements and exit. */ 'dd_sql' => 'ddSql',];
以上就是Laravel中轻松输出完整的SQL语句的知识。速戳>>知识兔学习精品课!