php - 如何在 laravel 构建器上执行“解释选择”
问题描述
我知道我可以从查询日志中获取原始查询,粘贴所有绑定的变量(也可以在查询日志中找到),在查询explain
的前面加上 a,然后直接在 mysql 控制台中运行它以获得解释查询....但是有没有更快的方法来获得解释?
理想情况下,我想做这样的事情:
$query = User::where("favorite_color", "blue");
dd($query->explain());
(显然,实际的查询要复杂得多并且有一些连接)
我尝试添加explain
这样的:
$query->selectRaw("explain select user.*");
但这导致了一个以以下开头的查询:
select explain select...
...这只是无效的sql。
解决方案
从Laravel 8.12 开始,您可以简单地调用->explain()
查询构建器,就像您在问题中描述的那样。
推荐阅读
- php - 我需要通过套件 CRM API 链接两个新条目
- javascript - 调用引用对象属性的方法会引发 ReferenceError
- c# - 使用json(反)序列化多个对象时出现空问题
- php - 如何使用 ajax 从 mysql 数据库的引导模式中显示当前插入的数据?
- node.js - 在 nestjs 中更改 JSON 响应
- django - = 和 html 中的 3D 字符 | 非ASCII字符| 引用可打印 | Django 电子邮件模板
- lambda - 使用 groupby 的 print 和 lambda 函数
- android - How to putExtra data from strings.xml
- javascript - 如何使按键在按下时只触发一次?
- c - 返回带有指向内部结构数组的指针成员的结构是否安全?