【问题标题】:Laravel 5.3 log query result?Laravel 5.3 日志查询结果?
【发布时间】:2020-03-20 09:51:23
【问题描述】:

我正在尝试找出我公司的旧应用程序中哪些 sql 查询速度较慢,因此我按照https://laravel.com/docs/5.3/database#listening-for-query-events 中的描述记录查询

DB::listen(function ($query) {
    \Log::info($query->sql);
    \Log::info($query->bindings);
    \Log::info($query->time); //in milliseconds
}

这很好用。但是,记录查询的实际结果也会很有趣。这可能吗?

我找不到这个query 变量有什么属性,只有这三个吗?或者我也可以得到查询的实际结果?

这是我第一次在 php 工作,所以假设没有知识。非常感谢!

【问题讨论】:

    标签: laravel laravel-5


    【解决方案1】:

    您可以使用记录器助手

    https://laravel.com/docs/5.3/helpers#method-logger

    logger()
    
    The logger function can be used to write a debug level message to the log:
    
    logger($query->get());
    

    因此,无论您在哪里构建查询,都可以通过 logger($data); 获取数据;

    【讨论】:

      【解决方案2】:

      您需要通过调用启用查询日志。 代码开头

      DB::enableQueryLog();
      
      //Here is your models or Db query execute code.  
      

      那么你可以通过简单的方式获取查询日志:

      查询结束。

        \Log::info(DB::getQueryLog());
        //dd(DB::getQueryLog());
      

      【讨论】:

        猜你喜欢
        • 2015-03-31
        • 2019-10-31
        • 1970-01-01
        • 2017-02-02
        • 2017-03-06
        • 2020-10-30
        • 2015-10-20
        • 2017-04-29
        • 1970-01-01
        相关资源
        最近更新 更多