. * * @link http://librenms.org * @copyright 2020 Tony Murray * @author Tony Murray */ namespace App\Observers; use Illuminate\Database\Eloquent\Model as Eloquent; class ModuleModelObserver { /** * Install observers to output +, -, U for models being created, deleted, and updated * * @param string|\Illuminate\Database\Eloquent\Model $model The model name including namespace */ public static function observe($model) { static $observed_models = []; // keep track of observed models so we don't duplicate output $class = ltrim($model, '\\'); if (! in_array($class, $observed_models)) { $model::observe(new static()); $observed_models[] = $class; } } public function saving(Eloquent $model) { if (! $model->isDirty()) { echo '.'; } } public function updated(Eloquent $model) { d_echo('Updated data:', 'U'); d_echo($model->getDirty()); } public function created(Eloquent $model) { echo '+'; } public function deleted(Eloquent $model) { echo '-'; } }