为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Laravel 5中执行查询?DB :: getQueryLog()返回空数组

如何在Laravel 5中执行查询?DB :: getQueryLog()返回空数组

PHP
德玛西亚99 2019-10-24 15:00:21
我正在尝试查看查询日志,但DB::getQueryLog()只返回一个空数组:$user = User::find(5);print_r(DB::getQueryLog());结果Array()如何查看此查询的日志?
查看完整描述

3 回答

?
动漫人物

TA贡献1815条经验 获得超10个赞

如果您真正关心的只是用于快速调试目的的实际查询(最后一个运行):


DB::enableQueryLog();


# your laravel query builder goes here


$laQuery = DB::getQueryLog();


$lcWhatYouWant = $laQuery[0]['query']; # <-------


# optionally disable the query log:

DB::disableQueryLog();

做一个print_r()上$laQuery[0]得到充分的查询,包括绑定。($lcWhatYouWant上面的变量会将变量替换为??)


如果您使用的不是主要的mysql连接,则需要改用以下这些:


DB::connection("mysql2")->enableQueryLog();


DB::connection("mysql2")->getQueryLog();

(连接名称为“ mysql2”)


查看完整回答
反对 回复 2019-10-24
?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

把它放在routes.php文件中:


\Event::listen('Illuminate\Database\Events\QueryExecuted', function ($query) {

    echo'<pre>';

    var_dump($query->sql);

    var_dump($query->bindings);

    var_dump($query->time);

    echo'</pre>';

});

由msurguy提交,此页面中的源代码。您将在注释中找到laravel 5.2的此修复代码。


查看完整回答
反对 回复 2019-10-24
  • 3 回答
  • 0 关注
  • 2714 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号