サーチ…


オブザーバーを作成する

オブザーバーは、Laravelの特定のモデルのライブサイクルコールバックを聞くために使用されます。
これらのリスナーは、次のいずれかの操作を聞くことができます。

  • 作成
  • 作成した
  • 更新する
  • 更新しました
  • 貯蓄
  • 保存された
  • 削除する
  • 削除された
  • 復元する
  • 復元された

オブザーバーの例です。

UserObserver

<?php

namespace App\Observers;

/**
 * Observes the Users model
 */
class UserObserver 
{
    /**
     * Function will be triggerd when a user is updated
     *
     * @param Users $model
     */
     public function updated($model)
     {
         // execute your own code
     }
}

ユーザーオブザーバーに示されているように、更新されたアクションを聞きますが、このクラスが実際にユーザーモデルをリッスンする前に、最初にEventServiceProvider内に登録する必要があります。

EventServiceProvider

<?php 

namespace App\Providers;

use Illuminate\Contracts\Events\Dispatcher as DispatcherContract;
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;

use App\Models\Users;
use App\Observers\UserObserver;

/**
 * Event service provider class
 */
class EventServiceProvider extends ServiceProvider
{
    /**
     * Boot function
     *
     * @param DispatcherContract $events
     */
    public function boot(DispatcherContract $events)
    {
        parent::boot($events);

        // In this case we have a User model that we want to observe
        // We tell Laravel that the observer for the user model is the UserObserver
        Users::observe(new UserObserver());
    }
}

オブザーバを登録したので、更新された関数はユーザモデルを保存した後に毎回呼び出されます。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow