0

我正在尝试编写一个事件来显示查询影响了多少行。

我找到了 Illuminate\Database\Events\QueryExecuted 事件。我已经为事件添加了一个监听器并在事件服务提供者中注册了它:

EventServiceProvider.php

<?php
namespace App\Providers;
use Illuminate\Contracts\Events\Dispatcher as DispatcherContract;
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;


 class EventServiceProvider extends ServiceProvider
    {
        /**
         * The event listener mappings for the application.
         *
         * @var array
         */
        protected $listen = [
            'Illuminate\Database\Events\QueryExecuted' => [
            'App\Listeners\QueryExecutedListener@handle'
                ],
        ];
        /**
         * Register any other events for your application.
         *
         * @param  \Illuminate\Contracts\Events\Dispatcher  $events
         * @return void
         */
        public function boot(DispatcherContract $events)
        {
            parent::boot($events);
            //
        }

}

在我的处理方法中,我可以看到正在运行的查询:

public function handle(QueryExecuted $event)
        {

            var_dump($event);

        }

但是,我找不到查看查询运行更新/删除了多少行的方法。

我会很感激任何建议。

4

1 回答 1

-2

Laravel 应用程序中包含的 EventServiceProvider 提供了一个方便的地方来注册应用程序的所有事件监听器。

https://laravel.com/docs/5.4/events

于 2017-07-10T14:51:40.510 回答