wake-up-neo.com

Laravel: Wie erstelle ich eine Funktion? After oder Before save | update

Ich muss eine Funktion generieren, um sie nach oder vor save () oder update () aufzurufen, aber ich weiß nicht, wie ich das machen soll. Ich glaube, ich brauche einen Rückruf von save () update (), aber ich weiß nicht, wie ich das machen soll. Vielen Dank

27
Daniele Longheu

In Ihrem Modell können Sie eine boot () -Methode hinzufügen, mit der Sie diese Ereignisse verwalten können.

Zum Beispiel mit User.php-Modell:

class User extends Model 
{

    public static function boot()
    {
        parent::boot();

        self::creating(function($model){
            // ... code here
        });

        self::created(function($model){
            // ... code here
        });

        self::updating(function($model){
            // ... code here
        });

        self::updated(function($model){
            // ... code here
        });

        self::deleting(function($model){
            // ... code here
        });

        self::deleted(function($model){
            // ... code here
        });
    }

}

Sie können alle verfügbaren Veranstaltungen hier einsehen: https://laravel.com/docs/5.2/eloquent#events

73
Mauro Casas

Erstellen Sie mit diesem Befehl einen Anbieter

php artisan make:provider ProviderClassName

definieren Sie dann die Rückrufe für Modelle in der Startfunktion

Model::created(function($model){
  //Do you want to do
});

Liste der verfügbaren Rückrufe:

Model::creating(function($model){});
Model::updated(function($model){});
Model::updating(function($model){});
Model::deleted(function($model){});
Model::deleting(function($model){});
Model::saving(function($model){});
Model::saved(function($model){});
9
Rohit Khatri