+ -

Laravel中轻松输出完整的SQL语句

时间:2021-03-30

来源:互联网

在手机上看
手机扫描阅读

今天PHP爱好者给大家带来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"

使用

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

// 获取 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 文件中配置方法名称既可

<?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语句的详细内容,更多请关注php爱好者其它相关文章!