laravel 中自帶的查詢構(gòu)建方法
toSql
得到的 sql 語句并未綁定條件參數(shù),類似于這樣select * from
userswhere
id= ?
,所以寫了個擴展包 laravel-dump-sql ,可以獲取完整的 sql 語句。
源碼
- laravel-dump-sql – https://github.com/guanguans/laravel-dump-sql
安裝
$ composer require guanguans/laravel-dump-sql -v
發(fā)布服務(wù)
$ php artisan vendor:publish --provider="Guanguans\LaravelDumpSql\ServiceProvider"
使用
安裝成功后查詢構(gòu)建器會新增
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();
自定義方法名稱
發(fā)布配置文件
$ 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視頻教程