【发布时间】:2017-05-09 19:04:13
【问题描述】:
Laravel 5 的内置解决方案
在 Laravel 5+ 中,我们可以使用 \DB::getQueryLog() 来检索所有已执行的查询。因为,查询日志是一项广泛的操作并会导致性能问题,因此它在 L5 中默认禁用,仅推荐用于开发环境。我们可以使用方法\DB::enableQueryLog() 启用查询日志记录,如 [Laravel 的文档][1] 中所述。
内置解决方案中的问题
DB::getQueryLog() 函数很棒,但有时我们希望以平面 SQL 格式转储它会很棒,因此我们可以将其复制/粘贴到我们最喜欢的 MySQL 应用程序中,例如 phpMyAdmin 或 Sqlyog 来执行它并调试或优化它。
所以,我需要一个辅助函数来帮助我生成带有以下附加信息的转储:
- 转储调用了哪个文件和行号。
- 从查询中删除反引号。
- 平面查询,因此不需要手动更新绑定参数,我可以在
phpMyAdmin中复制/粘贴SQL等来调试/优化查询。
【问题讨论】:
标签: mysql laravel logging dump