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

laravel框架
 laravel 中自带的查询构建方法 toSql 得到的 sql 语句并未绑定条件参数,类似于这样 select * fromuserswhereid= ?,所以写了个扩展包 laravel-dump-sql ,可以获取完整的 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 [
   
    'to_raw_sql' => 'Your favorite method name',
 
   
    'dump_sql' => 'Your favorite method name',
 
   
    'dd_sql' => 'Your favorite method name',
];

猜你喜欢

laravel Route::resource() 资源路由

2021-01-14

格式: Route::resource('/order','OrderController',['as'='admin']);框架自动创建路由及其对应控制器中的方法:请求方式路由ac

Laravel实现跟踪用户是否在线功能

2021-01-11

今天,我的任务是,在 Laravel 应用程序用户个人资料页面上,用户名旁边添加一个绿点,表示他们是否在线。我首先想到的是,我们

最喜爱的七个Laravel辅助函数

2021-01-10

作为一个以Laravel为主的PHP全栈开发人员,我会经常去寻找一些框架中、可以为我所用的、有效减少开发时间或者减少代码复杂性的方

laravel中间件的创建思路分析

2021-01-08

网上有很多解析laravel中间件的实现原理,但是不知道有没有读者在读的时候不明白,作者是怎么想到要用array_reduce函数的?本文

X
返回
顶部