Model Observer issue in nested transaction update of model

class Service A { 

public function approve($user, $data) { 

$apporvedUser = DB::transaction(function () use ($user, $data) {
        if($data['approve_by_admin'] == 1){
            $this->updateAdminStatus($user);
        }

        $user->update(['approved'] => 1); // This fires updated event 
    })
 }

 public function updateAdminStatus($user){
    $user = DB::transaction(function () use ($user, $data) {

        //Some Logic

        $user->update(['status'] => 5); // This doesnt fire event 
    })
 }
}

I have Scenario like above where same model gets updated in nested transactions but observer get only changes of last transaction, i want to get all updates in observer for same model.