欢迎光临
我们一直在努力

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"

使用

安装成功后查询构建器会新增
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

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视频教程

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《Laravel中轻松输出完整的SQL语句》
文章链接:https://www.rsspt.com/530.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。