Sla*_*a V 13 laravel laravel-4
Laravel中是否有类似的东西可以让你看到正在执行的实际SQL?例如,在Rails中,您可以在控制台中看到SQL.在Django你有一个工具栏.
在Laravel 4中有类似的东西吗?
澄清一下:我的问题是如何在没有代码的情况下做到这一点.是否有内置在Laravel中的东西不需要我在应用程序中编写代码?
更新:我希望看到CLI查询(例如php artisan migrate)
Mae*_*aeh 16
如果您使用的是Laravel 4,请使用以下命令:
$queries = DB::getQueryLog();
$last_query = end($queries);
Run Code Online (Sandbox Code Playgroud)
Ash*_*ora 10
我在Laravel 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");
});
Run Code Online (Sandbox Code Playgroud)
小智 6
这是一个快速的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>
Run Code Online (Sandbox Code Playgroud)
有一个Composer包:https://packagist.org/packages/loic-sharma/profiler
它将在底部为您提供一个工具栏,其中包含SQL查询,日志消息等.请确保debug在配置中将其设置为true.
| 归档时间: |
|
| 查看次数: |
13707 次 |
| 最近记录: |