使用 DB::Listen() 获取查询返回的行数

问题描述 投票:0回答:1

我正在向 laravel (5.8) 应用程序添加一些数据库日志记录,并且我已经注册了

DB::listener
回调,但似乎我对
$query
对象已填充的数据相当有限。

它确实需要执行该语句所需的时间,因此必须在查询运行后对其进行记录,因此它可以返回受影响/返回的行数。

我已经为数据库日志配置了自定义通道,并且仅在设置配置值时才启用它们。

我的实现如下所示。

    if (config('app.sql_profiler')) {
        DB::listen(function ($query) {
            Log::channel('db')->debug(
                $query->sql,
                [$query->bindings, $query->time]
            );
        });
    }

我想把它扩展成这样

    if (config('app.sql_profiler')) {
        DB::listen(function ($query) {
            Log::channel('db')->debug(
                $query->sql,
                [
                    $query->bindings,
                    $query->time,
                    // add $query->resultCount.
                ]
            );
        });
    }

任何关于从哪里开始寻找的建议都会非常有帮助。

laravel laravel-5.8
1个回答
0
投票

不,这是不可能的。

您只能使用此处描述的数据属性

© www.soinside.com 2019 - 2024. All rights reserved.