Laravel中如何轻松容易的输出完整的SQL语句

亲人是父母给你找的朋友,朋友是你给自己找的亲人,所以同等重要,孰轻孰重没那么多分别。

前言

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

源码

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

安装

$ 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

发布配置文件

<?php
return [
 /*
  * Get sql statement.
  */
 'to_raw_sql' => 'toRawSql',

 /*
  * Print SQL statements.
  */
 'dump_sql' => 'dumpSql',

 /*
  * Print SQL statements and exit.
  */
 'dd_sql' => 'ddSql',
];

总结

到此这篇关于Laravel中如何轻松容易的输出完整的SQL语句的文章就介绍到这了,更多相关Laravel输出完整的SQL语句内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

标签: Laravel SQL