当前位置: 首页 > 知识库问答 >
问题:

Laravel 4 SQL日志/控制台

常永怡
2023-03-14

Laravel中是否有类似的东西允许您查看正在执行的实际SQL?例如,在Rails中,您可以在控制台中看到SQL。在Django中,您有一个工具栏。

在《拉威尔4》中有类似的东西吗?

澄清一下:我的问题是如何在没有代码的情况下做到这一点。Laravel中是否有内置的东西不需要我在应用程序中编写代码?

更新:最好我也希望看到CLI查询(例如php-artisan-migrate

共有3个答案

宓英哲
2023-03-14

下面是一个快速的Javascript代码片段,您可以将其添加到母版页模板中。只要包含它,所有查询都将输出到浏览器的Javascript控制台。它将它们打印在一个易于阅读的列表中,使浏览站点和查看每个页面上执行的查询变得简单。

调试完成后,只需将其从模板中删除。

<script type="text/javascript">
    var queries = {{ json_encode(DB::getQueryLog()) }};
    console.log('/****************************** Database Queries ******************************/');
    console.log(' ');
    $.each(queries, function(id, query) {
        console.log('   ' + query.time + ' | ' + query.query + ' | ' + query.bindings[0]);
    });
    console.log(' ');
    console.log('/****************************** End Queries ***********************************/');
</script>
安泰平
2023-03-14

我在拉威尔4中这样做。

只需在app/start/global.php或任何地方设置一次,但请确保它已加载,然后它将开始记录所有SQL查询。

Event::listen("illuminate.query", function($query, $bindings, $time, $name){
    \Log::sql($query."\n");
    \Log::sql(json_encode($bindings)."\n");
});
白禄
2023-03-14

如果您使用的是Laravel 4,请使用以下命令:

php prettyprint-override">$queries    = DB::getQueryLog();
$last_query = end($queries);
 类似资料:
  • 问题内容: 我想在量角器测试中输出div的文本,到目前为止,我有: 但这输出 我尝试了“ toString()”,结果相同。 有没有办法将文本输出到控制台? 问题答案: 和其他大多数量角器方法都返回承诺。您想将您的陈述放入承诺解决方案中: 使用新的量角器语法:

  • 嘿,我想知道控制台中的输出是否可能与文件输出中的输出相同。 这是我的XML配置。 滚动文件中的输出 在控制台中为空。但是现在如果我改变 到"追踪" 将是2,4,6。。。。在控制台和我的文件中,它将是1,3,5,7。。。这很容易理解。 但是我的问题是,我们如何在控制台和文件中同时拥有相同的日志级(跟踪)输出?(添加包名称和级别的标签不起作用) 与此问题相关: log4j2 xml配置-登录到文件和控

  • 问题内容: 我想建立一个自动化测试,所以我必须知道chrome控制台中出现的错误。 是否有一个选项来获取出现在控制台中的错误行? 为了查看控制台:右键单击页面中的某处,单击“检查元素”,然后转到“控制台”。 问题答案: 我不知道C#,但这是可以完成此工作的Java代码,希望您可以将其转换为C# 注意上面代码中的setUp方法。我们使用LoggingPreferences对象来启用日志记录。日志有几

  • 我正在我的Spring Boot应用程序中使用Logback。 null

  • 我想建立一个自动化测试系统,所以我必须知道chrome控制台中出现的错误。 有一个选项可以获取控制台中出现的错误行? 要查看控制台:右键单击页面中的某个位置,单击“检查元素”,然后转到“控制台”。

  • 如何控制hadoop中的日志功能?Hadoop使用默认的log4j.properties文件来控制日志。我的用例是控制我的类生成的日志。 Hadoop守护进程(如JobTracker、TaskTracker、NameNode和DataNode守护进程)使用log4j。属性文件来自各自主机节点的。rootLogger设置为“INFO,console”,它将所有信息级别的消息记录到控制台。 我使用Oo