php Laravel输出所有数据库执行SQL
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php Laravel输出所有数据库执行SQL相关的知识,希望对你有一定的参考价值。
<?php
namespace App\Providers;
use App\Utils\BLogger;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
DB::listen(function ($query) {
$sql = $query->sql;
foreach ($query->bindings as $replace){
$value = is_numeric($replace) ? $replace : "'".$replace."'";
$sql = preg_replace('/\?/', $value, $sql, 1);
}
BLogger::getLogger(BLogger::LOG_SQL)->info(json_encode([
'sql' => $sql,
'bindings' => $query->bindings,
'time' => $query->time,
]));
});
}
/**
* Register any application services.
*
* @return void
*/
public function register()
{
//
}
}
以上是关于php Laravel输出所有数据库执行SQL的主要内容,如果未能解决你的问题,请参考以下文章
laravel查看执行sql的
laravel 输出sql
laravel如何输出最后一条执行的SQL
PHP安全三板斧:过滤篇Laravel底层SQL注入规避
PHP Laravel迁移SQL问题[重复]
使用laravel从sql server生成UUID数据类型(uniqueidentifier)失败