gpt4 book ai didi

php - 获取在 Laravel 3/4 中执行的查询

转载 作者:IT老高 更新时间:2023-10-28 11:41:51 24 4
gpt4 key购买 nike

如何使用 Laravel Query Builder 或 Eloquent ORM 在 Laravel 3/4 中检索原始执行的 SQL 查询?

例如,像这样的:

DB::table('users')->where_status(1)->get();

或者:

(posts (id, user_id, ...))

User::find(1)->posts->get();

否则,至少如何将所有执行的查询保存到 laravel.log?

最佳答案

Laravel 4+

Note for Laravel 5 users: You'll need to call DB::enableQueryLog() before executing the query. Either just above the line that runs the query or inside a middleware.

在 Laravel 4 及更高版本中,您必须调用 DB::getQueryLog() 来获取所有运行的查询。

$queries = DB::getQueryLog();
$last_query = end($queries);

或者您可以下载分析器包。我会推荐 barryvdh/laravel-debugbar , 这很整洁。您可以阅读他们的repository 中有关如何安装的说明。 .


Laravel 3

在 Laravel 3 中,您可以从 Eloquent 模型调用 DB 类上的静态方法 last_query 获取最后执行的查询。

DB::last_query();

然而,这需要您在 application/config/database.php 中启用 profiler 选项。或者,正如@dualed 所提到的,您可以在 application/config/application.php 中启用 profiler 选项或调用 DB::profile() 获取在当前请求中运行的所有查询及其执行时间。

关于php - 获取在 Laravel 3/4 中执行的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14536165/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com