pushModelChange($model->getTable(), $model->getKey(), [], $model->getAttributes()); }); Model::updated(function ($model) { $dirty = $model->getDirty(); if (!$dirty) return; $old = []; $new = []; foreach ($dirty as $k=>$v) { $old[$k] = $model->getOriginal($k); $new[$k] = $model->getAttribute($k); } AuditBuffer::instance()->pushModelChange($model->getTable(), $model->getKey(), $old, $new); }); Model::deleted(function ($model) { AuditBuffer::instance()->pushModelChange($model->getTable(), $model->getKey(), $model->getAttributes(), []); }); } }