我正在尝试编写一个事件,该事件将显示查询影响的行数。
我找到了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);
//
}
}
在我的handle方法中,我可以看到正在运行的查询:
public function handle(QueryExecuted $event)
{
var_dump($event);
}
但是,我无法找到查看运行更新/删除了多少行的方法。
我很感激任何建议。
答案 0 :(得分:-2)
Laravel应用程序附带的EventServiceProvider提供了一个方便的位置来注册所有应用程序的事件监听器。