내 eloquent.saved
이벤트 처리기를 실행할 수없는 것 같습니다. Laravel 이벤트가 실행되지 않습니까?
<?php
namespace App\Providers;
use Illuminate\Contracts\Events\Dispatcher as DispatcherContract;
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
class EventServiceProvider extends ServiceProvider
{
protected $listen = [
'eloquent.saved: \App\Models\Company' => [
'\App\Models\[email protected]',
],
];
}
을 그리고 \App\Models\Company
에이 방법을 추가 :
public function hasSaved() {
die("SAVED!!!");
}
을하지만 회사를 저장할 때 그것은 실행되지 않습니다.
<?php
namespace App\Providers;
use App\Models\Company;
use App\Observers\CompanyObserver;
use DB;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
public function register()
{
Company::observe(CompanyObserver::class);
}
}
그러나 사건 결코 화재 : 내가 대신 EventServiceProvider
에 리스너 클래스를 사용하여 시도
<?php namespace App\Observers;
class CompanyObserver {
public function saved() {
die('saved');
}
public function saving() {
die('saving');
}
}
:
protected $listen = [
'eloquent.saved: \App\Models\Company' => [
\App\Listeners\CompanySavedListener::class,
],
];
그러나 또한
나는 관찰자를 만드는 시도 결코 뛰지 않는다.마지막으로, 나는 EventServiceProvider
public function boot(DispatcherContract $events)
{
parent::boot($events);
$events->listen('eloquent.*', function() {
dump(func_get_args());
});
}
이 추가 시도 그리고 그 랜덤 이벤트의 무리를 해고하지 않습니다, 그러나 단지 나 인스턴스 모델 공급하는 것 - 나는 사건이 실제로 발사되는 무엇인지 전혀 모른다.
무슨 일 이니? 내 Company
이 언제 저장했는지 알고 싶습니다.