laravel打印最后执行sql语句
\Illuminate\Support\Facades\DB::connection()->enableQueryLog();
//SQL语句
$queries = \Illuminate\Support\Facades\DB::getQueryLog();
$query = end($queries);
//输出到log \Illuminate\Support\Facades\Log::info(vsprintf(str_ireplace('?','%s',$query['query']),array_map(function($n) {return is_numeric($n)?$n:'"' . addcslashes($n, '"') . '"';}, $query['bindings'])));
//直接打印
echo vsprintf(str_ireplace('?','%s',$query['query']),array_map(function($n) {return is_numeric($n)?$n:'"' . addcslashes($n, '"') . '"';}, $query['bindings']));
ThinkPHP 输出最后执行sql,可以在语句后面直接输出
User::find(1);
echo User::getLastSql();
// 3.2版本中可以使用简化的方法
echo $User->_sql();
//也可以使用fetchSql方法直接返回当前的查询SQL而不执行
echo User::fetchSql()->find(1);
原创文章,作者:admin,如若转载,请注明出处:https://ntib.cn/534.html