use App\Order;
 
public function show(Order $order) {
    $data = $order->all();
    return dd($order->getQueryLog());

有没有办法在Laravel中显示由eloquent构建的查询?

我试了getQueryLog();,但不起作用

推荐答案

首先,必须启用查询日志(log)

DB::connection()->enableQueryLog();

then you can use below code to see the query log

$queries = DB::getQueryLog();

如果要查看上次执行的查询

$last_query = end($queries);

to know more about logging see this https://laravel.com/docs/5.0/database#query-logging

Example

public function show(Order $order){
    \DB::connection()->enableQueryLog();
    $data = $order->all();
    $queries = \DB::getQueryLog();
    return dd($queries);
}

Laravel相关问答推荐

Laravel 联合和分页

如何在Laravel中创建自定义单项集合

根据路径的开头重定向

分页计数(*)查询问题

运行Docker时,安装PHP8.1时返回错误

Laravel 5 控制台( artisan )命令单元测试

为什么 Laravel 5 会自动更新我的日期字段?

如何为路由 laravel 5 使用OR中间件

如何从 laravel 控制器执行外部 shell 命令?

使用 laravel eloquent 关系检索除 NULL 之外的所有记录

使用 Laravel 将两个模型合并到一个分页查询中,并带有Eager加载的关系

Laravel 更新语法 - 使用数组更新记录

WhereHas Laravel 中的关系计数条件是什么

Laravel / Eloquent内存泄漏重复检索相同的记录

如何在 laravel 4 中删除文件

如何从 Laravel 中的资源中获取图像?

如何在 Laravel 中 Refresh刷新用户对象?

Laravel - 使用 Eloquent 查询构建器在 Select 中添加自定义列

如何使 Laravel (Blade) 文本字段只读

Laravel Eager加载与显式连接