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

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

源码

安装

$ composer require guanguans/laravel-dump-sql -v
复制代码

发布服务

$ php artisan vendor:publish --provider="Guanguans\\LaravelDumpSql\\ServiceProvider"
复制代码

使用

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

// 获取 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',
];
复制代码
相关文章
相关标签/搜索