2016-04-04 11 views

Antwort

1

sollten Sie verwenden Eloquent Events (nicht mit Laravel Ereignisse verwechseln).

public function boot() 
{ 
    Article::updated(function ($user) { 
     // do some stuff here 
    }); 
} 
+0

sicher, aber wie eine benutzerdefinierte eloquent Ereignis erst ausgelöst, wenn die Kategorie aktualisiert wird. –

+0

Wenn Sie 'Kategorie' Modell haben, verwenden Sie einfach' Kategorie :: aktualisiert (.... ' –

+0

http://StackOverflow.com/a/36406114/4865248 –

0

Sie würden wollen, in Beobachter schauen diese mehr wiederverwendbar und Einzel verantwortlich zu machen, wenn auch ein Ausgangspunkt etwas gleich sein würde:

public function boot() 
{ 
    self::updated(function ($model) { 
     if (array_key_exists('category_id', $model->getDirty())) { 
      // Log things here 
     } 
    }); 
} 

Laravel eine ‚schmutzige‘ Array bevölkern, die enthält modifizierte Felder. Sie können feststellen, wenn sich ein bestimmtes Feld geändert hat.

Sie haben auch:

$model->getOriginal('field_name') // for this field value (originally) 
$model->getOriginal() // for all original field values 
+0

Ich denke, das ist es, danke. –