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',
];
複製代碼
相關文章
相關標籤/搜索