Audit Logging / Differences on a Eloquent Model Laravel

Want to log the unique changes to an eloquent model in Laravel, it's simpler than I first thought.

class Example extends Model {

    public function getModifications( )
        return [
            'before' => array_intersect_key($this->getOriginal(), $this->getDirty()),
            'after'  => $this->getDirty(),


Example output

array:2 [  
  "before" => "{"first_name":"Tara"}"
  "after" => "{"first_name":"Jack"}"

I'll expand this post later, as to how to automatically log these changes to a database.