我试图弄清楚如何获取正在执行的原始SQL查询,包括其中的绑定数据.这是我得到的:
\DB::connection()->enableQueryLog();
$query = \DB::getQueryLog();
$lastQuery = end($query);
以下是结果:
array(3) {
["query"]=>
string(57) "select * from `table_1` where `field_1` = ? limit 1"
["bindings"]=>
array(1) {
[0]=>
string(34) "xyz"
}
}
那么如何获得像这样的完整SQL查询的转储(旧的老式方式)?
select * from `table_1` where `field_1` = 'xyz' limit 1
谢谢
解决方法:
\Event::listen('Illuminate\Database\Events\QueryExecuted', function ($query) {
Log::info( json_encode($query->sql) );
Log::info( json_encode($query->bindings) );
Log::info( json_encode($query->time) );
});
Log :: info()==>将在您的storage / logs / laravel.log文件中记录SQL查询
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。