For you to do this you can do a "little maneuver" using the getDirty
method.
This method is used to bring in the attributes that were changed before the model was updated.
So you could do it like this:
$usuario = Usuario::find($id);
$usuario->fill(Input::all());
$campos_alterados = $usuario->getDirty();
$usuario->save();
I think this is the simplest example. But we can also consider using some PHP OOP features.
For example, we can clone the object before changing it and comparing the differences:
$usuario = Usuario::find($id);
$clone = clone $usuario;
$usuario->update($inputs);
array_diff($clone->getAttributes(), $usuario->getAttributes());