首页 > 解决方案 > 如何在 laravel 构建器上执行“解释选择”

问题描述

我知道我可以从查询日志中获取原始查询,粘贴所有绑定的变量(也可以在查询日志中找到),在查询explain的前面加上 a,然后直接在 mysql 控制台中运行它以获得解释查询....但是有没有更快的方法来获得解释?

理想情况下,我想做这样的事情:

$query = User::where("favorite_color", "blue");

dd($query->explain());

(显然,实际的查询要复杂得多并且有一些连接)

我尝试添加explain这样的:

$query->selectRaw("explain select user.*");

但这导致了一个以以下开头的查询:

select explain select...

...这只是无效的sql。

标签: phpmysqllaravelexplain

解决方案


Laravel 8.12 开始,您可以简单地调用->explain()查询构建器,就像您在问题中描述的那样。


推荐阅读