我如何弄清楚查询是多么雄辩?

时间:2014-01-13 19:35:25

标签: mysql laravel eloquent

考虑将Laravel与Eloquent一起使用,但我知道在给定我们的网站的情况下,最终我们需要问,“那么Eloquent实际生成的原始SQL查询是什么?”所以我们可以对该查询进行故障排除,看看出了什么问题......我在文档中看不到这些信息。

那么我们如何提取Eloquent生成的查询呢?

1 个答案:

答案 0 :(得分:1)

最快的方法是将此添加到您的路线,控制器操作甚至app / start / global.php:

DB::listen(function($sql, $bindings, $time) { 
    Log::info($sql);
});

记录它,所以你可以

php artisan tail

查看您的疑问。

如果您只需要将一个查询直接记录到页面上它几乎相同,您只需将其放在执行查询的位置:

DB::listen(function($sql, $bindings, $time) { 
    var_dump($sql);
    var_dump($bindings);
});

Posts::where('title', 'My First Post')->get();

die;

它将在页面中回显它。

您还可以使用Clockwork Chrome扩展程序(https://chrome.google.com/webstore/detail/clockwork/dmggabnehkmmfmdffgajcflpdjlnoemp?hl=en),这是要在Laravel上安装的PHP程序包:https://github.com/itsgoingd/clockwork

发条为您提供了一个非常好的应用程序分析视图。