public static function sqlDebug($ms = null, $deBug = false)
{
DB::listen(function ($query) use ($ms, $deBug) {
$tmp = str_replace('?', '"'.'%s'.'"', $query->sql);
$qBindings = [];
foreach ($query->bindings as $key => $value) {
if (is_numeric($key)) {
$qBindings[] = $value;
} else {
$tmp = str_replace(':'.$key, '"'.$value.'"', $tmp);
}
}
$tmp = vsprintf($tmp, $qBindings);
$tmp = str_replace("\\", "", $tmp);
if ($ms) {
if ($query->time < $ms) {
return;
}
}
//$query->time 是sql语句执行的时间
$info = 'execution time:'.$query->time.'ms; '.$tmp."\n\n\t";
if ($deBug) {
YC_Log::info('[sqlDeBug] [%s]', $info);
} else {
var_dump($info);
}
});
}
Laravel listen sql
最新推荐文章于 2023-11-08 13:43:28 发布